Lock or Unlock site collections in SharePoint 2010

In this article we will be seeing how to lock or unlock site collections in SharePoint 2010.


In this article we will be seeing how to lock or unlock site collections in SharePoint 2010.

Introduction:

To prevent users from adding the contents or updating the contents to the site collection you can apply locks to a site collection. And also to prevent users from accessing the site collection temporarily you can apply locks to a site collection.

Site Lock Information:

To view the current lock status or to change the lock status go to Central Administration => Application Management => Site Collection => Configure quotas and locks.

LockUnlockSha1.gif

You could see the lock status as shown in the following

LockUnlockSha2.gif

Locking Options:

The following are the locking options available in SharePoint Server 2010.

  • Not locked
  • Adding content prevented
  • Read-only (prevents additions, updates, and deletions)
  • No access

Not locked - Unlocks the site collection and makes it available to users.

Adding content prevented -Prevents users from adding new content to the site collection. Updates and deletions are still allowed.

Example:

When you try to add content to the site collection you will be getting the error.

I tried adding word document to the Shared Documents I was getting the following error.

LockUnlockSha3.gif

Read-only (prevents additions, updates, and deletions) - Prevents users from adding, updating, or deleting content.

Example:

You won't be getting an option to add, update or delete the contents. I tried deleting the document from Shared documents but the options were disabled in the ribbon interface and I was not able to find the options in the ECB menu.

LockUnlockSha4.gif


No access -Prevents users from accessing content. Users who attempt to access the site receive an access-denied message.

Example:

When you try to access the site collection you will be getting the following error.

LockUnlockSha5.gif

Lock or Unlock site collection using object model:

  • Open Visual Studio 2010.
  • Go to File => New => Project.
  • Select Console Application template from the installed templates.
  • Enter the Name and click Ok.
  • Add the following assembly.

    Microsoft.SharePoint.dll
     
  • Add the following namespace.

    Using Microsoft.SharePoint;

Adding content prevented:

SPSite.WriteLocked property is used to enable "Adding content prevented" option.

It is used to get or set a Boolean value that specifies whether the site collection is locked and unavailable for Write access.

            using (SPSite site = new SPSite("http://serverName:22222/sites/test"))
            {             
                site.WriteLocked = true;
                site.LockIssue = "Testing Purpose";
            }

Note: Refer SPSite.WriteLocked for more details.

No access:

SPSite.ReadLocked property is used to enable "No access" option.

It is used to get or set a Boolean value that specifies whether the site collection is locked and unavailable for Read access.

            using (SPSite site = new SPSite("http://serverName:22222/sites/test"))
            {             
                site.ReadLocked = true;
                site.LockIssue = "Testing Purpose";
            }

Note: Refer SPSite.ReadLocked for more details.

Read-only (prevents additions, updates, and deletions):

SPSite.ReadOnly property is used to enable "Read-only (prevents additions, updates, and deletions)" option.

It is used to get or set a Boolean value that specifies whether the site collection is read-only, locked, and unavailable for write access.

            using (SPSite site = new SPSite("http://serverName:22222/sites/test"))
            {             
                site.ReadOnly = true;
                site.LockIssue = "Testing Purpose";
            }

Note: Refer SPSite.ReadOnly for more details.

Lock or Unlock site collection using powershell:

  • Go to Start => All Programs => Microsoft SharePoint 2010 products => SharePoint 2010 Management Shell.
  • Run as an administrator.
  • Run the following script.

    Set-SPSite -Identity "<SiteCollectionURL>" -LockState "<Lock>"
    Where:
     
  • <SiteCollectionURL> is the URL of the site collection that you want to lock or unlock.
  • <Lock> is one of the following values

    • Unlock
    • NoAdditions
    • ReadOnly
    • NoAccess