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 e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *