Come abilitare PowerShell Remoting in Windows 10

Immagine di Gravatar

 

a differenza di Windows Server, PowerShell Remoting non è abilitato per impostazione predefinita in Windows 10. PowerShell Remoting è un protocollo di gestione sicura (WSMan) per la connessione e la gestione di dispositivi remoti. Nella configurazione predefinita, PowerShell Remoting protegge il traffico su HTTP. È progettato principalmente per essere utilizzato in un ambiente Active Directory (AD), che protegge la fase di autenticazione utilizzando un canale sicuro tra i dispositivi e Kerberos.

Facoltativamente, è possibile configurare PowerShell Remoting per utilizzare HTTPS per proteggere le connessioni ai computer del gruppo di lavoro, ovvero i dispositivi non aggiunti ad AD. Indipendentemente dal protocollo di trasporto scelto, la comunicazione tra i dispositivi è sempre crittografata dopo la fase di autenticazione.

HTTPS contro SSH

HTTPS è difficile da configurare perché richiede all'IT di acquisire, fornire e gestire i certificati. Per risolvere questo problema, Microsoft ha introdotto la possibilità di utilizzare SSH per PowerShell Remoting in PowerShell Core (PowerShell versione 6 o successiva). Le versioni precedenti di PowerShell e la versione installata per impostazione predefinita in Windows, è conosciuto come Windows PowerShell.

Se gestisci dispositivi aggiunti a un dominio AD e disponi di una connettività di rete diretta, perché sei connesso alla stessa rete fisica o hai una VPN configurata per gli scenari di "gestione", PowerShell Remoting su HTTP dovrebbe funzionare correttamente. E potrebbe essere l'opzione più semplice e migliore. Ma se il tuo obiettivo è gestire i dispositivi remoti che sono disconnessi dalla tua rete di gestione, indipendentemente dal fatto che siano aggiunti a un dominio AD, SSH è più facile da configurare e mantenere rispetto a HTTPS.

Servizi remoti di PowerShell tramite HTTP

In questo articolo, ti mostrerò come abilitare PowerShell Remoting in Windows 10 utilizzando il protocollo di trasporto predefinito, HTTP. Assumeremo inoltre che il dispositivo remoto sia unito al tuo dominio AD. In un prossimo articolo, ti mostrerò come configurare PowerShell Remoting utilizzando SSH in PowerShell 6.

Accedi al computer su cui desideri abilitare PowerShell Remoting e quindi avvia una sessione di PowerShell con privilegi di amministratore:

  • Nella casella di ricerca sulla barra delle applicazioni, digitare powershell e nei risultati della ricerca, fare clic sulla freccia (>) a destra di Windows PowerShell. Nelle opzioni a destra, fare clic su Esegui come amministratore. È possibile che venga richiesto di immettere le credenziali di amministratore o di fornire il consenso per eseguire PowerShell.

Immagine n. 1 Espandi

Come abilitare PowerShell Remoting in Windows 10 (Credito immagine: Russell Smith)
  • Nella finestra di PowerShell, digitare Get-NetConnectionProfile e premere INVIO. È necessario verificare che il profilo di connessione di rete sia impostato su Private o DomainAuthenticated prima di abilitare PowerShell Remoting.
  • Se NetworkCategory non è impostato su Private o DomainAuthenticated, puoi impostarlo su Private utilizzando il seguente comando:
Set-NetConnectionProfile -NetworkCategory Privato
  • Ora possiamo abilitare PowerShell Remoting utilizzando il seguente comando:
Abilita-PSRemoting -Force

Immagine n. 2 Espandi

Come abilitare PowerShell Remoting in Windows 10 (Credito immagine: Russell Smith)

Secondo il sito Web di Microsoft, quando esegui Enable-PSRemoting, esegue le seguenti attività:

  • Avvia il servizio WinRM
  • Imposta il tipo di avvio nel servizio WinRM su Automatico
  • Crea un listener per accettare richieste su qualsiasi indirizzo IP
  • Abilita un'eccezione firewall per le comunicazioni WS-Management
  • Registra le configurazioni di sessione Microsoft.PowerShell e Microsoft.PowerShell.Workflow, se non sono già registrate
  • Registra la configurazione della sessione Microsoft.PowerShell32 su computer a 64 bit, se non è già registrata
  • Abilita tutte le configurazioni di sessione
  • Modifica il descrittore di sicurezza di tutte le configurazioni di sessione per consentire l'accesso remoto
  • Riavvia il servizio WinRM per rendere effettive le modifiche precedenti

E questo è tutto! Ora dovresti essere in grado di connetterti al dispositivo da una workstation di gestione utilizzando PowerShell Remoting, a condizione che ti trovi fisicamente sulla stessa rete o che tu abbia una VPN configurata per gli scenari di "gestione".

Per ulteriori informazioni su come connettersi ai dispositivi utilizzando PowerShell Remoting, controlla Nozioni di base sui servizi remoti di PowerShell su Petri.

Abilitazione di PowerShell Remoting su reti pubbliche

L'esecuzione di Enable-PSRemoting attiva un'impostazione predefinita Windows Regola del firewall chiamata Windows Gestione remota (HTTP-In). Apre l'accesso HTTP in entrata sulla porta 5985 per i profili di connessione di rete privata e di dominio. È possibile aggiungere il parametro -SkipNetworkProfileCheck a Enable-PSRemoting se si desidera attivare PowerShell Remoting per l'uso con i profili di connessione di rete pubblica.

Per impostazione predefinita, viene configurato -SkipNetworkProfileCheck Windows Firewall per consentire connessioni remote da dispositivi su reti pubbliche nella stessa sottorete locale. Se desideri consentire le connessioni da dispositivi su reti pubbliche da qualsiasi posizione, dovrai modificare la regola del firewall WINRM-HTTP-In-TCP utilizzando Set-NetFirewallRule come mostrato di seguito.

Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any

PowerShell Remoting è migliore per la gestione dei server

Se è necessario gestire un numero limitato di dispositivi client, PowerShell Remoting potrebbe essere un'opzione per la propria organizzazione. Ma è più adatto alla gestione dei server perché sono statici, sempre disponibili e in genere sono collegati direttamente alla rete e ai dispositivi di gestione.

Al contrario, i dispositivi client non sono sempre disponibili e possono connettersi da reti diverse e diversi tipi di connessione di rete. I servizi progettati per la gestione degli endpoint, come Microsoft Intune e Microsoft Endpoint Configuration Manager, consentono ai dispositivi di connettersi quando sono online e indipendentemente dal loro percorso di rete. Microsoft Endpoint Manager aiuta a garantire che i dispositivi siano sempre configurati in base ai criteri aziendali senza dover attendere che un tecnico si connetta tramite PowerShell Remoting.

Il post Come abilitare PowerShell Remoting in Windows 10 apparve prima Petri.