2017-01-05 3 views
-1

Может ли кто-нибудь сказать мне, почему я не могу вызвать функцию в скрипте PowerShell? Ниже мой код:Вызов функции в PowerShell ISE

Write-Host "Before calling Function." 

testFunction 

function testFunction() 
{ 
    Write-Host "Function has been called" 
} 

Когда я запускаю приведенный выше код я получаю следующее сообщение об ошибке:

testFunction : The term 'testFunction' is not recognized as the name of a cmdlet, 
function, script file, or operable program. Check the spelling of the name, or if 
a path was included, verify that the path is correct and try again. 
At C:\Users\andrew.short\Documents\Powershell\Backups\functionTest.ps1:3 char:1 
+ testFunction 
+ ~~~~~~~~~~~~ 
    + CategoryInfo   : ObjectNotFound: (testFunction:String) [], CommandNotFoundException 
    + FullyQualifiedErrorId : CommandNotFoundException

я уверен, что она должна быть обеспечена возможность вызова функций в рамках одного сценария PowerShell. Может ли кто-нибудь помочь?

+1

На самом деле, я думаю, что, возможно, я только что узнал, в чем проблема. Я думаю, что функция должна существовать до того, как кусок кода вызывает его. – ED209

+0

Да ... это должно работать: 'Write-Host 'перед вызовом функции." функция {функции теста Write-Host "Функция была названа" } testFunction' – Hackerman

+0

@ Ed209 Точно. –

ответ

2

Вы должны объявить функцию до, используя ее.

Write-Host "Before calling Function." 

function testFunction { 
    Write-Host "Function has been called" 
} 

testFunction 
Смежные вопросы