SharePoint – Website schreibgeschützt

In SharePoint kann es passieren, dass Sites als schreibgeschützt markiert werden. Typischerweise ist dies der Fall, wenn ein SPSite-Backup durchgeführt wird. Beim Zugriff auf eine SharePoint Site wird dann folgende Fehlermeldung protokolliert:

 Wir entschuldigen uns für etwaige Unannehmlichkeiten.

Die Website ist zurzeit schreibgeschützt, weil wir einige Verbesserungen vornehmen.

oder auf Englisch:

 We apologize for the inconvenience, but we've made this site read-only while we do some maintenance.

Im Normalfall sollte nach erfolgreicher Beendigung des Backups der Schreibschutz aufgehoben werden, dies ist jedoch nicht immer der Fall. Nachfolgend stelle ich Ihnen Möglichkeiten vor den Schreibschutz aufzuheben.

Der LockState

Zunächst kann über die Sharepoint Central Administration > application management > Configure quotas and locks > (Site auswählen) überprüfen, ob der Haken „Not Locked“ gesetzt ist. Ist die Einstellung ausgegraut oder die Site weiterhin schreibgeschützt, kann mittels der SharePointManagementShell überprüft werden, ob sich die Site im Status „Locked“ befindet:

Get-SPSite -Identity <SITEURL>| fl Lock*

Mit dem folgenden Befehl wird die Site auf „unlock“ umgestellt

Set-SPSite -Identity <SITEURL> -LockState "Unlock"

Maintenance Mode beenden

Ggf. ist für die Websitesammlung noch der MaintenanceMode aktiv. Überprüft werden kann dies mit dem Befehl:

$site = New-Object Microsoft.SharePoint.SPSite("<SITEURL>")$site.MaintenanceMode 

Als Ausgabe erscheint true oder false, je nachdem ob der MaintenanceMode aktiv oder nicht aktiv ist.

Der MaintenanceMode kann pro Site mit dem folgendem SPS-Befehl aufgehoben werden:

$Admin = New-Object Microsoft.SharePoint.Administration.SPSiteAdministration("<SITEURL>")
$Admin.ClearMaintenanceMode()

bzw. für alle Site-Collections in der Farm:

Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
$webapp = Get-SPSite -Limit ALLforeach ($site in $webApp){     
     $Admin = New-Object Microsoft.SharePoint.Administration.SPSiteAdministration($site.url)
     $Admin.ClearMaintenanceMode()
}

Backup ohne Schreibschutz

Es besteht auch die Möglichkeit ein Backup ohne Schreibschutz durchzuführen mit dem Parameter –NoSiteLock. In diesem Fall muss jedoch sichergestellt werden, dass keine Schreibzugriffe zur Laufzeit des Backups durchgeführt werden, andernfalls wird das Backup inkonsistent. Die Syntax zum Befehl Backup-SPSite und dem Parameter –NoSiteLock befindet sich unter [1].

[1] https://docs.microsoft.com/en-us/powershell/module/sharepoint-server/backup-spsite?view=sharepoint-ps