Quando recebemos o erro “The file is locked for exclusive”, na maior parte da vezes o bloqueio desaparece após 10 minutos, 30 minutos e várias vezes 24 horas.
seguem dois PS Scrips que rezolve o probela na maior parte das vezes.
Funciona bem para o “sharepoint short term lock”
Execute este script em PS para desbloquear o documento bloqueado. (Será necessário privilégios de administrador)
Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue #Variables for Web and File URLs $WebURL ="http://intranet.local/" (Altere de acordo) $FileURL ="http://intranet.local/pagina/doc.xlsx" (Altere de acordo) #Get Web and File Objects $web = Get-SPWeb $WebURL $File = $web.GetFile($FileURL) #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, Uncomment below lines: $File.ReleaseLock($File.LockId) Write-host "Released the lock!" }
Este Script nunca me falhou!
Execute este script em PS para desbloquear o documento bloqueado. (Será necessário privilégios de administrador)
$web = Get-SpWeb http://intranet.local/ (Altere de acordo) $item = $web.GetListItem("http://intranet.local/pagina/doc.xlsx") (Altere de acordo) ## Info $item.file.LockType $item.file.LockedByUser $item.file.LockExpires ## Unlock $userId = $item.File.LockedByUser.ID $user = $web.AllUsers.GetById($userId) $impSite = New-Object Microsoft.SharePoint.SPSite($web.Url, $user.UserToken); $impWeb = $impSite.OpenWeb(); $impItem = $impWeb.GetListItem("http://intranet.local/pagina/doc.xlsx") (Altere de acordo) $impItem.File.ReleaseLock($impItem.File.LockId) ## Done $web.dispose() $impWeb.dispose()