Comment exécuter vos propres scripts / applets de commande PowerShell

Par défaut, Microsoft a empêché l'exécution de scripts PowerShell personnalisés, des applets de commande a.k.a., en définissant PowerShell «ExecutionPolicy» sur «Restreint». Cela peut être changé facilement.

Vous pouvez modifier ExecutionPolicy pour les scripts / cmdlets PowerShell en exécutant la commande PowerShell Set-ExecutionPolicy.

Pour élaborer vos options pour cette commande, exécutez simplement les opérations suivantes dans PowerShell:

Set-ExecutionPolicy -ExecutionPolicy -?

Personnellement, je préfère définir ExecutionPolicy sur «RemoteSigned». Cela me permet d'exécuter mes propres scripts, mais empêche les scripts non signés des autres de s'exécuter:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Testez-le comme suit: Créez un nouveau script PowerShell sur votre bureau. Cliquez avec le bouton droit sur le bureau, Nouveau> Document texte. Nommez-le test.ps1

Cliquez avec le bouton droit sur test.ps1 et sélectionnez Modifier. Il devrait s’ouvrir avec PowerShell ISE (Integrated Scripting Environment). Tapez ce qui suit dans le volet supérieur:

Echo "Bonjour le monde!"

commencer à dormir 10

Enregistrez-le avec Ctrl + S et fermez-le.

Ouvrez maintenant PowerShell, passez sur votre bureau et lancez le script:

cd “$ env: userprofile \ Desktop”

. \ test.ps1

Puis changez votre ExecutionPolicy en «RemoteSigned» et essayez à nouveau:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

. \ test.ps1

Notez que le script / la cmdlet est référencé à l’aide de «. \». Vous pouvez également utiliser le chemin complet, mais vous ne pouvez pas l'exécuter en tapant simplement son nom (très semblable à Unix, hein?).

Notez également l'utilisation de «$ env: userprofile» pour représenter le chemin d'accès à votre profil utilisateur. Dans le processeur de commande Windows classique, cela était simplement représenté par «% userprofile%».

Enfin, veuillez noter que cela ne fonctionnera pas comme indiqué si vous ne faites pas partie du groupe Administrateurs local. En fait, il est recommandé d'éviter l'utilisation quotidienne d'un compte appartenant au groupe Administrateurs local. Ce peut donc être le cas pour vous. Pour contourner ce problème, lancez simplement Powershell en tant qu'administrateur pour définir la stratégie d'exécution. Vois ici.