У меня есть файл .ps1, в котором я хочу определить пользовательские функции.
Представьте, что файл называется MyFunctions.ps1, а содержимое выглядит следующим образом:
Write-Host "Installing functions"
function A1
{
Write-Host "A1 is running!"
}
Write-Host "Done"
Чтобы запустить этот script и теоретически зарегистрировать функцию 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. Могу ли я определить функции в файлах script?
Примечание, что я уже установил политику выполнения на "RemoteSigned". И я знаю, чтобы запускать файлы .ps1, используя точку перед именем файла:.\MyFile.ps1