Ho un file .ps1 in cui voglio definire funzioni personalizzate.
Immagina che il file si chiami MyFunctions.ps1 e il contenuto sia il seguente:
Write-Host "Installing functions"
function A1
{
Write-Host "A1 is running!"
}
Write-Host "Done"
Per eseguire questo script e teoricamente registrare la funzione A1, navigo nella cartella in cui risiede il file .ps1 ed eseguo il file:
.\MyFunctions.ps1
Questo produce:
Installing functions
Done
Tuttavia, quando provo a chiamare A1, ottengo semplicemente l'errore che indica che non esiste alcun comando / funzione con quel 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 fraintendere alcuni concetti di PowerShell. Non posso definire le funzioni nei file di script?
Nota che ho già impostato la mia politica di esecuzione su "RemoteSigned". E so di eseguire file .ps1 usando un punto davanti al nome del file:. \ MyFile.ps1