Il comando Install-Module è stato trovato nel modulo PowerShellGet

Il cmdlet Install-Module di PowerShell scarica uno o più moduli da un repository e li installa sul computer locale. Ma quando si esegue Install-Module, è possibile che venga visualizzato il seguente errore:

Modulo di installazione: il comando "Modulo di installazione" è stato trovato nel modulo "PowerShellGet", ma non è stato possibile caricare il modulo. Per ulteriori informazioni, eseguire "Import-Module PowerShellGet".

Alla riga: 1 carattere: 1

+ Modulo di installazione

+ ~~~~~~~~~~~~~~

+ CategoryInfo: ObjectNotFound: (Install-Module: String) [], CommandNo

Il cmdlet Install-Module è disponibile solo su PowerShell 5.1 e versioni successive e i sistemi Windows 7 e 8 necessitavano di un aggiornamento della versione di PowerShell per utilizzare questo cmdlet. Tuttavia, su Windows 7, 8 sistemi con versioni precedenti di PowerShell, l'esecuzione del comando mostra il seguente errore leggermente diverso da quello sopra:

$config[ads_text6] not found

'Modulo di installazione' non è riconosciuto come il nome di un cmdlet, funzione, file di script o programma eseguibile.

Tuttavia, l'errore sopra riportato può verificarsi anche in un computer Windows 10 che include già PowerShell 5.1. L'esecuzione del comando $PSVersiontable mostrato la versione di PowerShell sul mio sistema Windows 10 v1903 come 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 

Quindi, perché il cmdlet Install-Module funziona?

Il comando Install-Module è stato trovato nel modulo PowerShellGet

L'errore è stato trovato il comando Install-Module si verifica se il criterio di esecuzione dello script è impostato su Limitato . Per utilizzare il cmdlet, impostare il criterio di esecuzione su Senza restrizioni, utilizzando il comando seguente.

 Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process 

Il comando precedente imposta il criterio di esecuzione su Senza restrizioni per la sessione corrente di PowerShell.

Se si desidera impostarlo in modo permanente per l' utente corrente, utilizzare questo comando:

 Set-ExecutionPolicy Unrestricted -Scope CurrentUser 

Per impostarlo in modo permanente per il computer locale, utilizzare questo comando da PowerShell elevato o admin:

 Set-ExecutionPolicy Unrestricted -Scope LocalMachine 

Per ulteriori informazioni, consultare la documentazione Microsoft su Set-ExecutionPolicy.

Articoli Correlati