У мене є .ps1 файл, в якому я хочу визначити власні функції.
Уявіть, що файл називається MyFunctions.ps1, а вміст такий:
Write-Host "Installing functions"
function A1
{
Write-Host "A1 is running!"
}
Write-Host "Done"
Щоб запустити цей скрипт і теоретично зареєструвати функцію A1, я переходжу до папки, в якій знаходиться файл .ps1, і запускаю файл:
.\MyFunctions.ps1
Це виводи:
Installing functions
Done
Тим не менш, коли я намагаюся зателефонувати на A1, я просто отримую помилку, вказуючи, що немає команди та функції під цим ім'ям:
The term 'A1' 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 line:1 char:3
+ A1 <<<<
+ CategoryInfo : ObjectNotFound: (A1:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Я повинен неправильно зрозуміти деякі концепції PowerShell. Чи не можу я визначити функції у файлах сценаріїв?
Зауважте, що я вже встановив свою політику виконання на "RemoteSigned". І я знаю запускати .ps1 файли, використовуючи крапку перед іменем файлу:. \ MyFile.ps1