Autenticazione per connessioni remote
Windows Gestione remota mantiene la sicurezza per la comunicazione tra computer supportando diversi metodi standard di autenticazione e crittografia dei messaggi.
Accesso al gruppo predefinito
Durante l'installazione, WinRM crea il gruppo locale WinRMRemoteWMIUsers__. WinRM limita quindi l'accesso remoto a qualsiasi utente che non sia membro del gruppo di amministrazione locale o del gruppo di WinRMRemoteWMIUsers__ . È possibile aggiungere un utente locale, un utente di dominio o un gruppo di dominio a WinRMRemoteWMIUsers__ digitando net localgroup WinRMRemoteWMIUsers__ /add <domain>\<username> al prompt dei comandi. Facoltativamente, è possibile usare il Criteri di gruppo per aggiungere un utente al gruppo.
Impostazioni di autenticazione predefinita
Le credenziali predefinite, il nome utente e la password sono le credenziali per l'account utente connesso che esegue lo script.
Per passare a un altro account in un computer remoto
- Specificare le credenziali in un oggetto ConnectionOptions o IWSManConnectionOptions e specificarlo alla chiamata CreateSession .
- Impostare WSManFlagCredUserNamePassword nel parametro flags nella chiamata CreateSession .
L'elenco seguente contiene un elenco di ciò che si verifica quando viene eseguito uno script o un'applicazione con le credenziali predefinite:
- Kerberos è il metodo predefinito di autenticazione quando il client si trova in un dominio e la stringa di destinazione remota non è una delle seguenti: localhost, 127.0.0.1 o [::1].
- Negotiate è il metodo predefinito quando il client non è in un dominio, ma la stringa di destinazione remota è una delle seguenti: localhost, 127.0.0.1 o [::1].
Se si specificano credenziali esplicite con un oggetto ConnectionOptions , Negotiate è il metodo predefinito. L'autenticazione negoziata determina se il metodo di autenticazione in corso è Kerberos o NTLM, a seconda che i computer si trovino in un dominio o in un gruppo di lavoro. Se ci si connette a un computer di destinazione remoto usando un account locale, l'account deve essere preceduto dal nome del computer. Ad esempio, myComputer\myUsername.
Se si specifica l'autenticazione Negotiate, Digest o Basic e non si specifica un oggetto ConnectionOptions , verrà visualizzato un errore che indica che sono necessarie credenziali esplicite. Se HTTPS non è il trasporto, il computer remoto di destinazione deve essere configurato nell'elenco di computer host attendibili.
Per altre informazioni sui tipi di autenticazione abilitati nelle impostazioni di configurazione predefinite, vedere Installazione e configurazione per Windows Gestione remota.
Autenticazione di base
Per stabilire in modo esplicito l'autenticazione di base nella chiamata a WSMan.CreateSession, impostare i flag WSManFlagUseBasic e WSManFlagCredUserNamePassword nel parametro flags . L'autenticazione di base è disabilitata nelle impostazioni di configurazione predefinite sia per il client WinRM che per il server WinRM.
Autenticazione del digest
Per stabilire in modo esplicito l'autenticazione digest nella chiamata a WSMan.CreateSession, impostare il flag WSManFlagUseDigest nel parametro flags . Il digest non è supportato. Non può essere configurato per il componente server WinRM.
Negoziare l'autenticazione
Per stabilire in modo esplicito l'autenticazione Negotiate, nota anche come autenticazione integrata Windows, nella chiamata a WSMan.CreateSession impostare il flag WSManFlagUseNegotiate nel parametro flags.
Il controllo dell'account utente influisce sull'accesso al servizio WinRM. Quando si usa l'autenticazione Negotiate in un gruppo di lavoro, solo l'account amministratore predefinito può accedere al servizio. Per consentire a tutti gli account nel gruppo Administrators di accedere al servizio, impostare il valore del Registro di sistema seguente:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\\ Windows CurrentVersionPoliciesSystemLocalAccountTokenFilterPolicy\\\ = 1
Autenticazione Kerberos
Per stabilire in modo esplicito l'autenticazione Kerberos nella chiamata a WSMan.CreateSession, impostare il flag WSManFlagUseKerberos nel parametro flags . Sia il client che i computer server devono essere aggiunti a un dominio. Se si usa Kerberos come metodo di autenticazione, non è possibile usare un indirizzo IP nella chiamata a WSMan.CreateSession o IWSMan::CreateSession.
Autenticazione basata su certificati client
Per stabilire l'autenticazione basata su certificati client nella chiamata a WSMan.CreateSession, impostare il flag WSManFlagUseClientCertificate nel parametro flags .
È prima necessario abilitare l'autenticazione del certificato sia nel client che nel servizio usando lo strumento da riga di comando Winrm. Per altre informazioni, vedere Abilitazione delle opzioni di autenticazione. È inoltre necessario creare una voce nella tabella CertMapping nel computer server WinRM. In questo modo viene stabilito un mapping tra uno o più certificati e un account locale. Dopo aver usato il certificato per l'autenticazione e l'autorizzazione, l'account locale corrispondente viene usato per le operazioni eseguite dal servizio WinRM.
Il mapping può essere creato per un URI di risorsa specifico. Per altre informazioni, tra cui come creare una voce di tabella CertMapping, digitare winrm help certmapping al prompt dei comandi.
Nota
Il certificato di dimensione massima utilizzabile da WinRM in questo contesto è 16 KB.
Abilitazione o disabilitazione delle opzioni di autenticazione
L'opzione di autenticazione predefinita all'installazione del sistema è Kerberos. Per altre informazioni, vedere Installazione e configurazione per Windows gestione remota.
Se lo script o l'applicazione richiede un metodo di autenticazione specifico non abilitato, è necessario modificare la configurazione per abilitare questo tipo di autenticazione. Questa modifica può essere apportata usando lo strumento da riga di comando Winrm o tramite Criteri di gruppo per l'oggetto Criteri di gruppo gestione remota Windows. È anche possibile scegliere di disabilitare determinati metodi di autenticazione.
Per abilitare o disabilitare l'autenticazione con lo strumento Winrm
Per impostare la configurazione per il client WinRM, usare il comando Winrm Set e specificare il client. Ad esempio, il comando seguente disabilita l'autenticazione digest per il client.
winrm set winrm/config/client/auth @{Digest="false"}
Per impostare la configurazione per il server WinRM, usare il comando Winrm Set e specificare il servizio. Ad esempio, il comando seguente abilita l'autenticazione Kerberos per il servizio.
winrm set winrm/config/service/auth @{Kerberos="true"}
Argomenti correlati