У меня есть файл .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