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:

$config[ads_text6] not found

'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.

Articles Connexes