L’errore “Create Powershell Session is failed using OAuth” potrebbe essere visibile quando ci si collega ad Exchange Online tramite PowerShell. L’errore impedisce di accedere ai comandi PS completi, restituendo l’errore in questione:

Create Powershell Session is failed using OAuth
Create Powershell Session is failed using OAuth_errore

Per risolvere, bisognerà aprire il registro tramite il comando regedit (come amministratore) e cercare la chiave

HKLM\SOFTWARE\Policies\Microsoft\Windows\WinRM\Client

Il valore AllowBasic (DWORD) dovrà essere impostato su 1

Non sarà necessario nessun riavvio.

Fatta questa modifica, rilanciate il comando in Powershell per connettervi su Exchange Online.

L’errore “Create Powershell Session is failed using OAuth” non apparirà più.
Da notare che al prossimo riavvio della macchina o sincronizzazione delle eventuali policies locali, il valore della chiave ritornerà ad essere lo stesso.

Potrebbe convenire far verificare la configurazione direttamente sul vostro tenant.

Questo è l’ambiente nel quale dovreste cambiare i settings:

basic_authentication

L’opzione Client basic authentication deve essere impostata su Enabled

CONCLUSIONI

Qui la spiegazione fornita da Microsoft per tutti tipi di autenticazione:

Basic Authentication

To explicitly establish Basic authentication in the call to WSMan.CreateSession, set the WSManFlagUseBasic and WSManFlagCredUserNamePassword flags in the flags parameter. Basic authentication is disabled in the default configuration settings for both the WinRM client and the WinRM server.

Detto questo, Microsoft spiega quale sarebbe l’autenticazione di default (Kerberos), motivo per il quale si produce l’errore descritto in questo post.
Di norma l’autenticazione Kerberos è quella di default, o quantomeno quella impostato con la configurazione iniziale del server.
Per dovere di cronaca vi inserisco le seguenti note, che possano realmente interessare oppure no. 😉

Kerberos Authentication

To explicitly establish Kerberos authentication in the call to WSMan.CreateSession, set the WSManFlagUseKerberos flag in the flags parameter. Both the client and the server computers must be joined to a domain. If you use Kerberos as the authentication method, you cannot use an IP address in the call to  WSMan.CreateSession or IWSMan::CreateSession.

Enabling or Disabling Authentication Options

The default authentication option at system installation is Kerberos. For more information, see Installation and Configuration for Windows Remote Management.

If your script or application requires a specific authentication method that is not enabled, you must change the configuration to enable this type of authentication. This change can be made using the Winrm command-line tool or through Group Policy for the Windows Remote Management Group Policy Object. You may also choose to disable certain methods of authentication.

To enable or disable authentication with the Winrm tool

  1. To set the configuration for the WinRM client, use the Winrm Set command and specify the client. For example, the following command disables digest authentication for the client.winrm set winrm/config/client/auth @{Digest=”false”}
  2. To set the configuration for the WinRM server, use the Winrm Set command and specify the service. For example, the following command enables Kerberos authentication for the service.winrm set winrm/config/service/auth @{Kerberos=”true”}

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *