PowerShell : comment résoudre l'erreur execution of scripts is disabled on this system ?

En utilisant PowerShell, vous avez accès à des fonctionnalités et un langage supplémentaires. Vous avez bien sûr également les mêmes possibilités qu'avec l'invite de commande. Mais il y a parfois quelques éléments qui sont différents. Si vous avez installé le framework Angular sur votre ordinateur, il se peut que les commandes pour manipuler le client ne fonctionnent pas. Vous obtiendrez alors le message "execution of running scripts is disabled on this system". Ce message est lié à la configuration de PowerShell.

Au sein de l'environnement PowerShell, il y a des mesures de sécurité qui ont été mises en place. L'exécution des scripts est bloquée pour certains niveaux de sécurité, ce qui empêche notamment l'utilisation d'Angular. Pour corriger ce problème, la commande "Set-ExecutionPolicy" doit être utilisée. Avec l'option "-ExecutionPolicy", vous pouvez choisir le niveau de sécurité appliqué. Nous vous conseillons de choisir "RemoteSigned". Il s'agit du niveau de sécurité par défaut de Windows Server et il permet notamment l'exécution des scripts. L'option "-Scope CurrentUser" limite l'effet de la commande à l'utilisateur qui lance la commande, pour ne pas diminuer la sécurité des autres comptes.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Il existe une autre solution pour résoudre le souci si le message d'erreur persiste à s'afficher. Rendez-vous dans le dossier "C:\Users\votre-utilisauteur\AppData\Roamins\npm" puis supprimez le fichier "ng.ps1". Ce fichier n'est plus nécessaire pour le framework Angular et il rentre en conflit avec Windows. Il va falloir nettoyer également le cache de npm en vidant le dossier "C:\Users\votre-utilisateur\AppData\Roaming\npm-cache".