about_Remote_Requirements

Aggiornamento: maggio 2014

Si applica a: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

ARGOMENTO

about_Remote_Requirements

DESCRIZIONE BREVE

Questo articolo descrive i requisiti di sistema e i requisiti di configurazione per l'esecuzione di comandi remoti in Windows PowerShell®.

DESCRIZIONE LUNGA

In questo argomento vengono descritti i requisiti di sistema, i requisiti utente e requisiti di risorse per stabilire connessioni remote ed eseguire comandi remoti in Windows PowerShell. Vengono inoltre fornite istruzioni per la configurazione delle operazioni remote.

Nota: molti cmdlet (inclusi Get-Service, Get-Process, Get-WMIObject, Get-EventLog e Get-WinEvent) recuperano gli oggetti da computer remoti usando i metodi di Microsoft .NET Framework e non l'infrastruttura remota di Windows PowerShell. I requisiti indicati in questo documento non si applicano a questi cmdlet. Per individuare i cmdlet che hanno un parametro ComputerName ma che non usano la comunicazione remota di Windows PowerShell, leggere la descrizione del parametro ComputerName dei cmdlet.

REQUISITI DI SISTEMA

Per eseguire sessioni remote in Windows PowerShell 3.0, sul computer locale e su quello remoto devono essere presenti i componenti seguenti:

  • -- Windows PowerShell 3.0 o versione successiva

  • -- Microsoft .NET Framework 4.0 o versione successiva

  • -- Gestione remota Windows 3.0

Per eseguire sessioni remote in Windows PowerShell 2,0, sul computer locale e su quello remoto devono essere presenti i componenti seguenti:

  • -- Windows PowerShell 2.0 o versione successiva

  • -- Microsoft .NET Framework 2.0 o versione successiva

  • -- Gestione remota Windows 2.0

È possibile creare sessioni remote tra computer che eseguono Windows PowerShell 2.0 e Windows PowerShell 3.0. Tuttavia, le funzionalità eseguite solo in Windows PowerShell 3.0, come la capacità di disconnettersi e riconnettersi a sessioni, sono disponibili solo quando entrambi i computer eseguono Windows PowerShell 3.0.

Per trovare il numero di versione di una versione installata di Windows PowerShell, usare la variabile automatica $PSVersionTable.

Gestione remota Windows (WinRM) 3.0 e Microsoft .NET Framework 4.0 sono inclusi in Windows 8, Windows Server 2012 e versioni più recenti del sistema operativo Windows. WinRM 3.0 è incluso in Windows Management Framework 3.0 per i sistemi operativi precedenti. Se il computer non dispone della versione richiesta di WinRM o di Microsoft .NET Framework, non è possibile eseguire l'installazione.

AUTORIZZAZIONI UTENTE

Per creare sessioni remote ed eseguire i comandi remoti, per impostazione predefinita, l'utente corrente deve essere un membro del gruppo Administrators nel computer remoto o fornire le credenziali di un amministratore. In caso contrario, il comando non riesce.

Le autorizzazioni necessarie per creare sessioni ed eseguire comandi in un computer remoto (o in una sessione remota sul computer locale) vengono stabilite dalla configurazione della sessione (nota anche come "endpoint") nel computer remoto a cui si connette la sessione. In particolare, il descrittore di sicurezza nella configurazione di sessione determina chi può accedere alla configurazione di sessione e chi può usarla per la connessione.

I descrittori di sicurezza per le configurazioni di sessione predefinite, Microsoft.PowerShell, Microsoft.PowerShell32 e Microsoft.PowerShell.Workflow, consentono l'accesso solo ai membri del gruppo Administrators.

Se l'utente corrente non dispone dell'autorizzazione all'uso della configurazione della sessione, il comando per eseguire un comando (che usa una sessione temporanea) o creare una sessione permanente sul computer remoto ha esito negativo. L'utente può usare il parametro ConfigurationName dei cmdlet che creano sessioni per selezionare una configurazione di sessione diversa, se disponibile.

I membri del gruppo Administrators in un computer possono determinare gli utenti autorizzati a connettersi al computer in modalità remota modificando i descrittori di sicurezza per le configurazioni di sessione predefinite e creando nuove configurazioni di sessione con descrittori di sicurezza diversi.

Per altre informazioni sulle configurazioni della sessione, vedere about_Session_Configurations (https://go.microsoft.com/fwlink/?LinkID=145152).

PERCORSI DI RETE WINDOWS

A partire da Windows PowerShell 3.0, il cmdlet Enable-PSRemoting può abilitare la comunicazione remota nelle versioni client e server di Windows su reti private, di dominio e pubbliche.

Nelle versioni server di Windows con reti private e di dominio, il cmdlet Enable-PSRemoting consente di creare regole del firewall che consentono l'accesso remoto senza restrizioni. Consente anche di creare una regola del firewall per le reti pubbliche che consente l'accesso remoto solo da computer nella stessa subnet locale. Questa regola del firewall della subnet locale è abilitata per impostazione predefinita nelle versioni server di Windows nelle reti pubbliche, ma Enable-PSRemoting riapplica la regola nel caso in cui sia stata modificata o eliminata.

Nelle versioni client di Windows con reti private e di dominio, il cmdlet Enable-PSRemoting consente di creare, per impostazione predefinita, regole del firewall che consentono l'accesso remoto senza restrizioni.

Per abilitare la comunicazione remota nelle versioni client di Windows con reti pubbliche, usare il parametro SkipNetworkProfileCheck del cmdlet Enable-PSRemoting. Verrà creata una regola del firewall che consente l'accesso remoto solo da computer nella stessa subnet locale.

Per rimuovere la restrizione della subnet locale nelle reti pubbliche e consentire l'accesso remoto da tutti i percorsi nelle versioni client e server di Windows, usare il cmdlet Set-NetFirewallRule nel modulo NetSecurity. Eseguire il comando seguente:

        Set-NetFirewallRule –Name "WINRM-HTTP-In-TCP-PUBLIC" –RemoteAddress Any   

In Windows PowerShell 2.0, nelle versioni server di Windows, Enable-PSRemoting consente di creare regole del firewall che consentono l'accesso remoto su tutte le reti.

In Windows PowerShell 2.0, nelle versioni client di Windows, Enable-PSRemoting consente di creare regole del firewall solo su reti private e di dominio. Se il percorso di rete è pubblico, Enable-PSRemoting ha esito negativo.

ESEGUI COME AMMINISTRATORE

I privilegi di amministratore sono necessari per le seguenti operazioni di comunicazione remota:

  • -- Stabilire una connessione remota nel computer locale. Questa operazione è comunemente nota come scenario "loopback".

  • -- Gestire le configurazioni della sessione nel computer locale.

  • -- Visualizzare e modificare le impostazioni di WS-Management nel computer locale, ossia le impostazioni nel nodo LocalHost dell'unità WSMAN: .

‎Per eseguire queste attività, è necessario avviare Windows PowerShell con l'opzione "Esegui come amministratore" anche se si è un membro del gruppo Administrators nel computer locale.

In Windows 7 e in Windows Server 2008 R2, per avviare Windows PowerShell con l'opzione "Esegui come amministratore":

  • 1. Fare clic su Start, scegliere Tutti i programmi, fare clic su Accessori, quindi scegliere la cartella Windows PowerShell.

  • 2. Fare clic con il pulsante destro del mouse su Windows PowerShell, quindi fare clic su "Esegui come amministratore".

Per avviare Windows PowerShell con l'opzione "Esegui come amministratore":

  • 1. Fare clic su Start, scegliere Tutti i programmi, quindi fare clic sulla cartella Windows PowerShell.

  • 2. Fare clic con il pulsante destro del mouse su Windows PowerShell, quindi fare clic su "Esegui come amministratore".

L'opzione "Esegui come amministratore" è disponibile anche in altre voci di Esplora risorse relative a Windows PowerShell, inclusi i tasti di scelta rapida. È sufficiente fare clic con il pulsante destro del mouse sull'elemento, quindi fare clic su "Esegui come amministratore".

Quando si avvia Windows PowerShell da un altro programma, ad esempio Cmd.exe, usare l'opzione "Esegui come amministratore" per avviare il programma.

COME CONFIGURARE IL COMPUTER PER LA COMUNICAZIONE REMOTA

I computer che eseguono tutte le versioni supportate di Windows possono stabilire connessioni remote ed eseguire comandi remoti in Windows PowerShell senza alcuna configurazione. Tuttavia, per ricevere connessioni e consentire agli utenti di creare sessioni locali e remote di Windows PowerShell gestite dall'utente ("Pssession") e di eseguire comandi nel computer locale, è necessario abilitare la comunicazione remota di Windows PowerShell nel computer.

Windows Server 2012 e versioni più recenti di Windows Server sono abilitate per la comunicazione remota di Windows PowerShell per impostazione predefinita. Se vengono modificate le impostazioni, è possibile ripristinare le impostazioni predefinite eseguendo il cmdlet Enable-PSRemoting.

In tutte le altre versioni supportate di Windows, è necessario eseguire il cmdlet Enable-PSRemoting per abilitare la comunicazione remota di Windows PowerShell.

Le funzionalità di comunicazione remota di Windows PowerShell sono supportate dal servizio di gestione remota Windows, che è l'implementazione Microsoft dei servizi Web per il protocollo di gestione (WS-Management). Quando si abilita la comunicazione remota di Windows PowerShell, si modifica la configurazione predefinita di WS-Management e si aggiunge una configurazione di sistema che consente agli utenti di connettersi a WS-Management.

Per configurare Windows PowerShell affinché riceva comandi remoti:

  • 1. Avviare Windows PowerShell con l'opzione "Esegui come amministratore".

  • 2. Nel prompt dei comandi, digitare: Enable-PSRemoting

Per verificare che la comunicazione remota sia configurata correttamente, eseguire un comando di verifica, ad esempio il comando seguente, che consente di creare una sessione remota nel computer locale.

          New-PSSession

Se la comunicazione remota è configurata correttamente, il comando crea una sessione nel computer locale e restituisce un oggetto che rappresenta la sessione. L'output sarà simile a quello di esempio riportato di seguito:

          C:\PS> new-pssession

          Id Name        ComputerName    State    ConfigurationName
          -- ----        ------------    -----    -----
          1  Session1    localhost       Opened   Microsoft.PowerShell

Se il comando non riesce, vedere about_Remote_Troubleshooting per altre informazioni.

INFORMAZIONI SUI CRITERI

Quando si lavora in modalità remota, si usano due istanze di Windows PowerShell, una sul computer locale e una sul computer remoto. Di conseguenza, il lavoro è influenzato dai criteri di Windows e dai criteri di Windows PowerShell nel computer locale e in quello remoto.

In generale, prima di connettersi e non appena si stabilisce la connessione, i criteri del computer locale sono attivi. Quando si usa la connessione, i criteri del computer remoto sono attivi.

VEDERE ANCHE

about_Remote

about_Remote_Variables

about_PSSessions

Invoke-Command

Enter-PSSession

New-PSSession