SiteCollection Lock-Status ausgeben (ReadOnly, Unlocked, WriteLock, No Access)

24.01.2019 0 Von Frank

Mit folgendem Skript kann man den Sperr-Status aller SiteCollections einer SharPoint-Farm ausgeben.

Die Rückgabe “No Access” tritt entweder auf, wenn der ausführende Benutzer keine Rechte für die entsprechende SiteCollection hat oder wenn die SiteCollection in der Zentraladministration komplett gesperrt wurde.

Add-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction silentlycontinue

$was = Get-SPWebApplication

foreach ($wa in $was) { 
    $sites=$wa.Sites

    foreach ($site in $sites) {
        $lock_result=""

        if ($site.ReadOnly -eq $false -and $site.ReadLocked -eq $false -and $site.WriteLocked -eq $false)  {
            #KEIN LOCK
	        $lock_result ="Unlocked"
        }
        else {
          if ($site.ReadOnly -eq $true -and $site.ReadLocked -eq $false -and $site.WriteLocked -eq $true)  {
	        #READ ONLY 
            $lock_result = "Read-Only"
          }
          else {
            if ($site.WriteLocked -eq $true -and $site.ReadLocked -eq $false -and $site.ReadOnly -eq $false) {
	            #Adding Content Prevented?
                $lock_result = "WriteLocked"
            }
            else {
              if ($site.ReadOnly -eq $null -and $site.ReadLocked -eq $null -and $site.WriteLocked -eq $null) {      
                #No Access?
                $lock_result="No Access"
              }
            }
          }
        }

        #Ausgabe
        write-host $wa.Name ";" $site.Url ";" $lock_result
    }
}