J'ai un fichier .ps1 dans lequel je souhaite définir des fonctions personnalisées.
Imaginez que le fichier s'appelle MyFunctions.ps1 et que le contenu est le suivant:
Write-Host "Installing functions"
function A1
{
Write-Host "A1 is running!"
}
Write-Host "Done"
Pour exécuter ce script et enregistrer théoriquement la fonction A1, je navigue jusqu'au dossier dans lequel réside le fichier .ps1 et exécute le fichier:
.\MyFunctions.ps1
Cela produit:
Installing functions
Done
Pourtant, lorsque j'essaie d'appeler A1, j'obtiens simplement l'erreur indiquant qu'il n'y a pas de commande / fonction de ce nom:
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
Je dois mal comprendre certains concepts PowerShell. Puis-je ne pas définir de fonctions dans les fichiers de script?
Notez que j'ai déjà défini ma stratégie d'exécution sur «RemoteSigned». Et je sais exécuter des fichiers .ps1 en utilisant un point devant le nom de fichier:. \ MyFile.ps1