Eu tenho um arquivo .ps1 no qual desejo definir funções personalizadas.
Imagine que o arquivo se chama MyFunctions.ps1 e o conteúdo é o seguinte:
Write-Host "Installing functions"
function A1
{
Write-Host "A1 is running!"
}
Write-Host "Done"
Para executar esse script e, teoricamente, registrar a função A1, eu navego para a pasta na qual o arquivo .ps1 reside e execute o arquivo:
.\MyFunctions.ps1
Isso gera:
Installing functions
Done
No entanto, quando tento chamar A1, simplesmente recebo o erro informando que não há comando / função com esse nome:
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
Devo interpretar mal alguns conceitos do PowerShell. Não consigo definir funções nos arquivos de script?
Observe que eu já defini minha política de execução como 'RemoteSigned'. E sei executar arquivos .ps1 usando um ponto na frente do nome do arquivo:. \ MyFile.ps1