Im SharePoint Admin Center kann es bei einer Konfiguration der Sharing Policies einen Fehler geben. Die Ursache ist eine fehlerhafte API.
Wird im SharePoint Admin Center > Policies > Sharing eine der Konfigurationen angepasst kann das System einen Fehler “Invalid user input for tenant link expiration. User input: -1” ausgeben. Auffällig ist, es betrifft jede Konfiguration im Abschnitt für Sharing Policies. Eine Anpassung in dem Abschnitt lässt sich generell nicht mehr speichern.
In meinem Fall wollte ich die Freigabemöglichkeit nur für OneDrive Sharing ändern. Über PowerShell und Set-SPOTenant gibt es zwar das Property SharingCapability. SharingCapability beeinflusst jedoch die Freigabe für SharePoint, und OneDrive passt sich einfach 1:1 an.
Ich vergleiche das fehlerhafte SharePoint Admin Center mit einem Tenant ohne Fehler. Eine Analyse über die Developer Tools des Browser zeigt was SharePoint bei einer Anpassung der Konfiguration durchführt.
- Über die API https://<Tenantname>-admin.sharepoint.com/_api/SPOInternalUseOnly.Tenant setzt SharePoint die zuletzt gespeicherte Konfiguration und erhält als Status ein 204 zurück.
- SharePoint startet eine zweite API-Anfrage und setzt die vom Admin neu angepasste Konfiguration. Für meine Anpassung der OneDrive Freigabe ändert SharePoint die zwei Properties DefaultSharingLinkType und ODBSharingCapability.
Die Zahl bei ODBSharingCapability reflektiert die Freigabekonfigurationen:
0 = Only people in your organization
1 = New and existing guests
2 = Anyone
3 = Existing guests
Führe ich die Analyse im fehlerhaften SharePoint Admin Center aus fällt auf die API hat im ersten Schritt einen Fehler mit einem Status 400 Bad Request. Die erste Anfrage kann die aktuelle Konfiguration nicht setzen und führt dadurch Schritt 2 nicht aus. In der Antwort ist der oben sichtbare Fehler aus dem GUI inkludiert.
Zur Lösung musst du einen Microsoft Support Case erstellen und ihnen am besten die Screenshots von der fehlerhaften API-Anfrage mitsenden. Microsoft Support teilt nach ein paar Stunden mit die API des Tenants wurde gefixt und man solle es erneut probieren. Danach konnte es bei mir die Konfiguration übernehmen.