kwizcom banner advertisement

Sorry, something went wrong - The file FILENAME is locked for exclusive use by USER

Problem:  End-Users receives error when trying to edit a file. "Sorry, something went wrong - The file FILE-URL is locked for exclusive use by USER-NAME"
Sorry, something went wrong - The file FILENAME is locked for exclusive use by USER
Root Cause:
When users edit the document in client applications such as Microsoft Office, SharePoint places a locks and renews it for every 10 minutes to prevent other users from modifying it. This lock is released automatically when the client application is closed, or after 10 minutes.

Solution: 
But in some scenarios, lock retains due to reasons like: Client application crash, Network connectivity issues, etc.  So, the simplest solution would be wait for 10 minutes for the lock to expire. But if you want the lock to be released immediately, You can unlock it programmatically!

There is no UI to unlock the locked files - as we do have for Check-in Checked-out files. So, Here is my solution to unlock the locked files using PowerShell.
 Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue

#Variables for Web and File URLs
$WebURL ="http://intranet.crescent.com/support/"
$FileURL ="http://intranet.crescent.com/support/T1Support/Reports/ServiceTickets.xlsx" 

#Get Web and File Objects
$web = Get-SPWeb $WebURL
$File = $web.GetFile($FileURL)

#Check if File is Checked-out
if ($File.CheckOutType -ne "None")
 {
    Write-host "File is Checked Out to user: " $File.CheckedOutByUser.LoginName
    Write-host "Checked Out Type: " $File.CheckOutType
    Write-host "Checked Out On: "  $File.CheckedOutDate

    #To Release from Checkout, Ask the checked out user to Checkin
    #$File.Checkin("Checked in by Administrator")
    #Write-host "File has been Checked-In"
 }
 
 #Check if File is locked
 if ($File.LockId -ne $null)
 {
     Write-host "File is Loked out by:" $File.LockedByUser.LoginName
     Write-host "File Lock Type: "$file.LockType
     Write-host "File Locked On: "$file.LockedDate
     Write-host "File Lock Expires on: "$file.LockExpires

     #To Release the lock, use:
     #$File.ReleaseLock($File.LockId)
     #Write-host "Released the lock!" 
 }
Don't forget to un-comment the lines 32-33 if you find your files are locked out.
Sorry, something went wrong - The file FILENAME is locked for exclusive use by USER Sorry, something went wrong - The file FILENAME is locked for exclusive use by USER Reviewed by Salaudeen Rajack on 5:44 PM Rating: 5

10 comments:

  1. Thanks man you are a life saver!!!

    ReplyDelete
  2. Where/how do I input this code?

    ReplyDelete
    Replies
    1. Use either PowerShell ISE or Save this script as a .ps1 file and run from PowerShell console. Don't forget to change WebURL and FileURL variables.

      Delete
  3. Does it work for SharePoint online?

    ReplyDelete
  4. Do you run this script on the server? Where is the setting for the 10 minute lockout. Our network does not have a 10 minute lockout. Is this done manually?

    ReplyDelete
  5. I now get the following error: Exception calling "ReleaseLock" with "1" argument(s)."

    Can I add impersonation to this script?

    ReplyDelete
  6. Thanks for the script. Can impersonation be added to this?
    I now get the following error message"Exception calling 'ReleaseLock' with '1' argument(s)"

    ReplyDelete
    Replies
    1. Run the script from Farm Admin account or any account which has "Full Control" Web application user policy granted.

      Delete

Please Login and comment to get your questions answered!

Powered by Blogger.