Si vous savez écrire des scripts PowerShell ou Batch simples, vous pouvez automatiser pas mal de choses sur Windows 10. En fait, même si vous devez passer un peu de temps à écrire le script parfait pour quelque chose, le temps gagné une fois qu’il est prêt à partir vaudra le temps que vous avez passé à l’écrire. Cela dit, les scripts peuvent être dangereux, c’est-à-dire que lorsque vous essayez d’exécuter des scripts dans PowerShell, vous obtenez un message d’erreur assez long qui vous indique essentiellement que «l’exécution de scripts est désactivée sur ce système».
Il s’agit d’une mesure de sécurité dans PowerShell pour empêcher l’exécution de scripts malveillants et potentiellement nuire au système. Bien sûr, un script que vous avez écrit vous-même ne sera pas malveillant et devrait pouvoir s’exécuter. Pour résoudre ce problème, vous devez modifier la stratégie d’exécution dans PowerShell. Voici comment.
Le correctif des scripts en cours d’exécution est désactivé sur ce système
Ouvrez PowerShell avec des droits d’administrateur et exécutez la commande suivante.
Get-ExecutionPolicy -List
Cela vous montrera la politique d’exécution qui a été définie pour votre utilisateur et pour votre machine. Il est probable que les deux, ou au moins la stratégie CurrentUser soit définie sur Restreint.
Pour corriger l’erreur «l’exécution des scripts est désactivée sur ce système», vous devez modifier la stratégie de CurrentUser. Pour ce faire, exécutez la commande suivante.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Confirmez que vous souhaitez effectuer la modification et vous pourrez exécuter le script.
Cela devrait vous permettre d’exécuter la plupart des scripts, cependant, si vous obtenez toujours la même erreur, vous devrez probablement changer la politique d’exécution de la machine. Vous pouvez modifier la commande précédente pour ce faire, mais vous aurez besoin des droits d’administrateur pour ce faire.
Exécutez cette commande.
Set-ExecutionPolicy RemoteSigned -Scope LocalMachine
Confirmez que vous souhaitez apporter la modification, puis essayez d’exécuter le script.
Cela devrait faire l’affaire si vous avez écrit le script vous-même, cependant, si vous l’avez téléchargé en ligne et qu’il n’est pas signé, vous devez alors changer la politique d’exécution en Unrestricted. Pour ce faire, remplacez «RemoteSigned» dans toutes les commandes ci-dessus par «Unrestricted». Faites très attention aux scripts que vous exécutez si vous les téléchargez. Ils peuvent être dangereux.
Set-ExecutionPolicy
Il s’agit d’une commande assez simple pour définir la stratégie d’exécution sur PowerShell. Cette commande peut avoir quatre paramètres ou états différents: Restreint, AllSigned, RemoteSigned et Unrestricted.
Le commutateur -Scope définit à quoi la modification de stratégie est appliquée. Lorsque vous entrez «CurrentUser», il est appliqué à l’utilisateur actuel uniquement, et lorsque vous entrez «LocalMachine», il est appliqué à l’ensemble du système