WS-Management comunicazione remota (WSMan) in PowerShell

Istruzioni per creare un endpoint di comunicazione remota

Il pacchetto PowerShell per Windows include un plug-in WinRM (pwrshplugin.dll) e uno script di installazione (Install-PowerShellRemoting.ps1) in $PSHome. Questi file consentono a PowerShell di accettare le connessioni remote PowerShell in ingresso quando viene specificato l'endpoint.

Motivazione

Un'installazione di PowerShell può stabilire sessioni di PowerShell con i computer remoti usando New-PSSession e Enter-PSSession. Per abilitarla ad accettare le connessioni remote PowerShell in ingresso, l'utente deve creare un endpoint di comunicazione remota WinRM. Si tratta di uno scenario di consenso esplicito in cui l'utente esegue Install-PowerShellRemoting.ps1 per creare l'endpoint WinRM. Lo script di installazione è una soluzione provvisoria fino a quando non verranno aggiunte altre funzionalità a Enable-PSRemoting per eseguire la stessa azione. Per altri dettagli, vedere il problema n. 1193.

Azioni script

Lo script

  1. Crea una directory per il plug-in all'interno di $env:windir\System32\PowerShell
  2. Copia pwrshplugin.dll in questo percorso
  3. Genera un file di configurazione
  4. Registra il plug-in in WinRM

Registrazione

Lo script deve essere eseguito all'interno di una sessione di PowerShell a livello di amministratore e viene eseguito in due modalità.

Eseguito dall'istanza di PowerShell che verrà registrata

Install-PowerShellRemoting.ps1

Eseguito da un'altra istanza di PowerShell per conto dell'istanza che verrà registrata

<path to powershell>\Install-PowerShellRemoting.ps1 -PowerShellHome "<absolute path to the instance's $PSHOME>"

Ad esempio:

Set-Location -Path 'C:\Program Files\PowerShell\6.0.0\'
.\Install-PowerShellRemoting.ps1 -PowerShellHome "C:\Program Files\PowerShell\6.0.0\"

Nota

Lo script di registrazione remota riavvia WinRM. Tutte le sessioni PSRP esistenti vengono terminate immediatamente dopo l'esecuzione dello script. Se eseguito durante una sessione remota, lo script termina la connessione.

Come connettersi al nuovo endpoint

Stabilire una sessione di PowerShell con il nuovo endpoint PowerShell specificando -ConfigurationName "some endpoint name". Per connettersi all'istanza di PowerShell dall'esempio precedente, usare una delle chiamate seguenti:

New-PSSession ... -ConfigurationName "powershell.6.0.0"
Enter-PSSession ... -ConfigurationName "powershell.6.0.0"

Si noti che le chiamate New-PSSession e Enter-PSSession in cui non viene specificato -ConfigurationName avranno come destinazione l'endpoint PowerShell predefinito, microsoft.powershell.