在SharePoint文档被一个用户User1在使用机器上以编辑方式保持打开状态时,其他用户User2是无法对文件进行编辑的,保存文件时会提示文件被打开用户lock。
对于此问题有时我们可以联系用户User1,如果编辑完此问题要保存并关闭,之后其他人可以正常使用。但有的时候我们是无法联系User1的,此时就需要考虑在Farm Server端release文件,让其他人继续使用。
经过验证可以通过下面Script实现:
- $webUrl='http://sharepoint:2100/sites/test'
- $fileUrl='file url'
- $w = get-spweb $webUrl
- $l = $w.lists['libraryname']
- $f = $w.GetFile($fileUrl)
- $i = $l.GetItemById($f.Item.Id)
- $s = New-Object Microsoft.SharePoint.SPSite($w.site.id,$i.File.LockedByUser.UserToken)
- $w = $s.OpenWeb($w.id)
- $l = $w.lists['libraryname']
- $i = $l.GetItemById($f.Item.Id)
- $i.File.CheckOutStatus
- $i.File.ReleaseLock($i.File.LockId)
- $web.Dispose()
执行完成后,其他用户就可以正常编辑使用了。
感谢阅读。