Kürzlich beschrieb ich für SharePoint Online Basic Authentication zu deaktivieren.
Danach kann Connect-SPOService in der Standardkonfiguration keine Verbindung zu SharePoint Online herstellen.
Als Beispiel wurde in meinem SharePoint Tenant Basic Authentication deaktiviert. Connect-SPOService gibt neu einen Fehler zurück.
Sign-in Logs von Entra ID zeigen keinen Fehler während der Anmeldung.
Nach Reaktivierung von Basic Authentication in SharePoint funktioniert Connect-SPOService wieder.
Eine Kontrolle der Sign-in Logs zeigt die Ursache, Connect-SPOService nutzt weiterhin Basic Authentication.
GitHub Copilot bestätigt die Situation.
The Connect-SPOService cmdlet by default uses basic authentication, which involves providing a username and password. This method does not support modern authentication features such as multi-factor authentication (MFA) or conditional access policies. If not used with HTTPS, credentials can be intercepted by attackers through man-in-the-middle attacks.
Im September 2022 wird in einem GitHub Commit für die Connect-SPOService Dokumentation der Parameter ModernAuth ergänzt.
ModernAuth
Ensures that SharePoint Online tenant administration cmdlets can connect to the service using modern TLS protocols. To use it you also need to provide the AuthenticationUrl parameter.
Bedauerlicherweise hat Microsoft bis heute den Standardwert für ModernAuth nicht angepasst. Es ist False. Ohne der expliziten Ergänzung verbindet sich Connect-SPOService noch immer mit Basic Authentication.
Ich deaktiviere Basic Authentication in SharePoint Online erneut.
Ein neuer Versuch mit Modern Authentication.
# PowerShell 5 only
Import-Module Microsoft.Online.SharePoint.PowerShell
Connect-SPOService `
-Url "https://<Tenantname>-admin.sharepoint.com" `
-Credential <Credentials> `
-ModernAuth $true `
-AuthenticationUrl "https://login.microsoftonline.com/organizations"
Die Verbindung wird hergestellt.
Eine Kontrolle der Sign-in Logs zeigt ein neues Ergebnis.
- Das Login wird als interaktives Sign-in protokolliert.
- Die Application ist “Microsoft SharePoint Online Management Shell”.
- Die Client App ist “Mobile Apps and Desktop clients”.
Mobile Apps and Desktop clients
In Entra ID sign-in logs, the client app “Mobile Apps and Desktop clients” refers to applications that use modern authentication protocols such as OAuth 2.0 and OpenID Connect.
Fazit für SharePoint Administratoren
Passt eure Verbindungsmethode Connect-SPOService mit den zwei Parametern ModernAuth und AuthenticationUrl an. Mit der sehr einfachen Änderung nutzt ihr Modern Authentication.
Connect-SPOService unterstützt keine Verbindungsmethode über ClientID + Zertifikat. Für die Methode sollten Administratoren PnP.PowerShell und Connect-PnPOnline einsetzen.
Microsoft.Online.SharePoint.PowerShell in PowerShell 7
Das Modul Microsoft.Online.SharePoint.PowerShell unterstützt nur PowerShell 5.
Um es in PowerShell 7 einzusetzen musst du es im PowerShell 5 Modus importieren.
# With PowerShell 7
Import-Module Microsoft.Online.SharePoint.PowerShell -UseWindowsPowerShell
# Optional, to ignore the warnings
Import-Module Microsoft.Online.SharePoint.PowerShell -UseWindowsPowerShell -WarningAction SilentlyContinue