Site Collection Locks in SharePoint
Some time back, I ran into an issue where a particular site collection was in read-only mode to everyone including site collection admin, certain options such as the site action menu was in the disabled state!. Then I realized the site collection backup process was interrupted due to the disk-space issue, and it left the site collection in the “Read-only” mode! Which was documented in my post: SharePoint site is read-only to everyone
Screenshot from Read-only locked Site collection: Note that ribbon items are disabled!
Screenshot from Unlocked site:
SharePoint Site Locks can be Set/Reset in 4 ways:
- Using Web User Interface – Through Central Administration
- Using STSADM
- Using PowerShell
- Using Object Model
- By .Net code
- By PowerShell
Let’s look at the examples:
Using Web User Interface:
Where to Look? Go to Central Administration > Application Management > Configure Quotas and Locks
Under Site Collection Quotas and locks, set the site collection to “Not locked” will release the site.
STSADM to lock a SharePoint Site Collection:
To lock site collection:
stsadm -o setsitelock -url <Site-collection-url> -lock <Lock-Type>
To get site lock status information of SharePoint site collection:
stsadm -o getsitelock -url <Site-collection-url>
Where <Lock-Type> can take one of the following value:
- none – Removes all the locks
- noadditions – Prevents from Addition
- readonly – Can’t add/Update/Delete content
- noaccess – You can’t view the site at all
More info: https://technet.microsoft.com/en-us/library/cc262811.aspx
PowerShell to Set Site collection Lock:
To lock a site collection in SharePoint 2013 using PowerShell, use:
Set-SPSite -Identity <Site-collection-url> -LockState <Lock-State>
Where: <Lock-State> can be:
- ReadOnly
- Unlock
- NoAdditions
- NoAccess
$SPSite = Get-SPSite -Identity https://SharePoint
#Check whether the site collection is read-only
$SPSite.readonly
#Remove the site collection's read-only lock
$SPSite.readonly = $false
BTW, SharePoint Site collections may be locked automatically, when they exceed the Site collection Quota! More Info: https://technet.microsoft.com/en-us/library/cc263238.aspx
SharePoint Site Collection Locks Programmatically with Object Model:
You can Programmatically set the Lock status using SPSite object’s Properties:
- SPSite.ReadLocked
- SPSite.WriteLocked
- SPSite.ReadOnly
E.g:
using (SPSite site = new SPSite("https://sharepoint.com/sites/sales"))
{
site.ReadOnly = true;
//Set lock comments
site.LockIssue = "Maintenance";
}
Tail: Backup LIVE Site collection without Locks:
STSADM: stsadm -o backup -url <Site-collection-url> -filename <Backup-File> -nositelock
PowerShell: Backup-SPSite -Identity <Site-collection-url> -Path <Backup-File> -NoSiteLock
PowerShell Script to check lock Status of All site collections: Check Lock Status for All Site Collections in SharePoint
thanks for posting it.
thanks a lot……
Hi Rajak thanks for your valuable info.. You had save my life. ***** 5 Star Rating for your post. 🙂
Hi,
Can a site made readonly using client object model?
I get error saying that its a readonly property.
the Code I am using is as below:
Site mysite = mycontext.Site;
mycontext.Load(mysite);
mycontext.ExecuteQuery();
mysite.ReadOnly = false;
mysite.LockIssue = “testing”;
Thanks for the post
Hi Rajak thanks for your valuable info.. is there any way I can get alerted like generate an email when site collection gets locked?
I think you saved my job today with this post, had to let you know…
Its very useful link,
Thanks for pointing out this frustrating occurance! Also, is the lock / unlock of a site collection logged anywhere – ULS, etc?
Nope! Its not getting logged 🙁
hi..You Provide a very useful information about SharePoint. Very well done. Thanks for Sharing.