La commande Install-Module a été trouvée dans le module PowerShellGet
L'applet de Install-Module
de PowerShell télécharge un ou plusieurs modules à partir d'un référentiel et les installe sur l'ordinateur local. Mais, lorsque vous exécutez Install-Module
, vous pouvez obtenir l'erreur suivante:
Install-Module: La commande 'Install-Module' a été trouvée dans le module 'PowerShellGet', mais le module n'a pas pu être chargé. Pour plus d'informations, exécutez «Import-Module PowerShellGet».
À la ligne: 1 caractère: 1
+ Module d'installation
+ ~~~~~~~~~~~~~~
+ CategoryInfo: ObjectNotFound: (Install-Module: String) [], CommandNo

L'applet de Install-Module
est disponible uniquement sur PowerShell 5.1 et versions supérieures, et les systèmes Windows 7 et 8 avaient besoin d'une mise à niveau de la version PowerShell pour utiliser cette applet de commande. Cependant, sur les systèmes Windows 7, 8 avec des versions plus anciennes de PowerShell, l'exécution de la commande affiche l'erreur suivante qui est légèrement différente de la précédente:
'Install-Module' n'est pas reconnu comme le nom d'une applet de commande, d'une fonction, d'un fichier de script ou d'un programme exploitable.
Cependant, l'erreur ci-dessus peut également se produire dans un ordinateur Windows 10 qui comprend déjà PowerShell 5.1. L'exécution de la commande $PSVersiontable
montré la version PowerShell sur mon système Windows 10 v1903 comme 5.1.18362.145.
PSVersion 5.1.18362.145 PSEdition Desktop PSCompatibleVersions {1.0, 2.0, 3.0, 4.0 ...} BuildVersion 10.0.18362.145 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1
Alors, pourquoi la cmdlet Install-Module
ne fonctionne-t-elle pas?
La commande Install-Module a été trouvée dans le module PowerShellGet
La commande d'erreur Install-Module a été trouvée se produit si la stratégie d'exécution du script est définie sur Restreint . Pour utiliser l'applet de commande, définissez la stratégie d'exécution sur Non restreint, à l'aide de la commande suivante.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process
La commande ci-dessus définit la stratégie d'exécution sur Non restreint pour la session PowerShell en cours.
Si vous souhaitez le définir définitivement pour l' utilisateur actuel, utilisez cette commande:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
Pour le définir de manière permanente pour la machine locale, utilisez cette commande à partir de PowerShell élevé ou administrateur:
Set-ExecutionPolicy Unrestricted -Scope LocalMachine

Pour plus d'informations, consultez la documentation Microsoft sur Set-ExecutionPolicy.