Erreur exécution de Script est désactivée sur ce système PowerShell

Sur Visual Studio Code, j’ai essayé d’exécuter la commande « ionic serve », le console m’affiche :

ionic : Impossible de charger le fichier C:\Users\Ayoub\AppData\Roaming\npm\ionic.ps1, car l’exécution de scripts est désactivée sur ce
système. Pour plus d’informations, consultez about_Execution_Policies à l’adresse https://go.microsoft.com/fwlink/?LinkID=135170.
Au caractère Ligne:1 : +ionic serve CategoryInfo : Erreur de sécurité : (:) [], PSSecurityException FullyQualifiedErrorId : UnauthorizedAccess

Windows PowerShell est un langage de script orienté objet. Il s’appuie sur le Microsoft Framework .NET.

PowerShell est supporté par :

  • Windows XP SP2
  • Windows Server 2003 SP1
  • Windows Vista
  • Windows 7
  • Windows Serveur 2008

Dans cet article je vais vous expliquer comment exécuter un script PowerShell et comment ajouter des utilisateurs dans Active Directory via un script PowerShell.

Sources :

1 – Configuration de PowerShell

Pour lancer PowerShell soit sur Cliquer sur Démarrer > Accessoires > Windows PowerShell ou touche windows + r puis saisir powershell

La fenêtre suivante apparait:

Pour connaitre les paramètres d’une commande powershell, il faut saisir Get-Help [Votre Commande] dans mon cas, Get-Help ExecutionPolicy

Un script PowerShell a comme extension de fichier .ps1

Si je tente d’exécuter par exemple un script dans une invite de commande avec la commande suivante:

L’erreur suivante apparait :

« Impossible de charger le fichier c:\exemple_script.ps1 car l’exécution de scripts est désactivée sur ce système. Pour plus d’information, consultez…. »

Ce message est normal, il va falloir modifier les paramètres de sécurité intégrés à PowerShell. En effet Microsoft a introduit des sécurités pour éviter qu’un script non autorisé puisse s’exécuter à l’insu de l’utilisateur.

Pour modifier les sécurités, saisir les commandes suivantes :

Get-ExecutionPolicy

Le résultat de la commande est Restricted, ceci est normal car c’est la stratégie par défaut.

Il existe 4 stratégies d’exécution :

  • Restricted :
    • Stratégie par défaut.
    • Ne permet que dans saisie de commande dans le shell
    • Les scripts ne sont pas exécutés
     
  • AllSigned :
    • Seulement les scripts signés s’exécutent
    • Une confirmation est demandée avant l’exécution d’un script
  • RemoteSigned
    • Les scripts exécutés localement s’exécutent sans être signés
    • Les scripts téléchargés doivent être signés
    • Pas de confirmation avant d’exécuter un script
  • Unrestricted
    • Tous les scripts s’exécutent signés ou non

Dans notre cas, nous allons mettre le niveau de sécurité sur RemoteSigned. Pour cela exécuter la commande Set-ExecutionPolicy RemoteSigned

Le message suivant apparait Répondre O et appuyer sur Entree

Si l’erreur ci-dessous apparaît:

Set-ExecutionPolicy : L'accès à la clé de Registre
'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' est refusé. Pour modifier la
stratégie d’exécution pour l’étendue par défaut (LocalMachine), démarrez Windows PowerShell avec l’option Exécuter en
tant qu’administrateur. Pour modifier la stratégie d’exécution pour l’utilisateur actuel, exécutez «
Set-ExecutionPolicy -Scope CurrentUser».
Au caractère Ligne:1 : 1

Pour résoudre ce problème, il faut alors lancer PowerShell en tant qu’administrateur, veuillez consulter mon article Lancer PowerShell en tant qu’administrateur.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *