1. Skip to Menu
  2. Skip to Content
  3. Skip to Footer

SharePoint - файл заблокирован для совместного использования

 

При попытке удалить или переименовать файл в библиотеке документов сайта SharePoint вы можете получить ошибку «Файл заблокирован для совместного использования», хотя данный файл не открыт ни для редактирования, ни для просмотра указанным в ошибке пользователем.

На многих форумах пишут, что необходимо подождать 10 минут, после чего попробовать удалить/переименовать файл заново. В моем случае это не помогло L

Зато помогло то, о чем я и хочу с вами поделиться. Итак, приступим!

1) Добавляем в представление библиотеки поле «ИД». Смотрим и запоминаем ID проблемного документа (в нашем случае этот ID = 293)

 

2) Запускаем PowerShell скрипт на сервере SharePoint:

if ((Get-PSSnapin | where { $_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) {     Add-PSSnapin Microsoft.SharePoint.PowerShell;    
if ((Get-PSSnapin | where { $_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) {throw "SharePoint PowerShell Module is required."}     }
# Get required variables
$SiteURL = Read-Host "URL сайта"
$ListName = Read-Host "Название библиотеки"
$itemID = Read-Host "ID документа"
# Get information from SharePoint
$SPsite = Get-SPweb "$SiteURL"
$SPlist = $SPsite.lists["$ListName"]
$SPitem = $SPlist.GetItemById("$itemID")
$SQLconn = $SPitem.Web.Site.ContentDatabase.DatabaseConnectionString
$SQLfileID = $SPitem.UniqueId
Write-Host "File ID in the database" $SQLfileID

 

Здесь я указал следующие значения:

Название библиотеки: Общие документы
ID документа: 293
ID документа можно увидеть, добавив в текущее представление библиотеки столбик "ИД".

 

В результате выполнения скрипта мы получим ID файла, который хранится в базе данных SQL:

3) Выполняем следующий скрипт на SQL сервере в базе SharePortal Content DataBase:

SELECT * from dbo.AllDocs WHERE Id = '9b61eaa8-ce89-4119-96db-2a76985d5fe4'

 

Удостоверяемся, что в поле «LeafName» указано название нашего «проблемного» файла:

Теперь выполняем последний скрипт, который позволит нам сбросить значение CheckoutExpires у файла:

UPDATE dbo.AllDocs SET CheckoutExpires = '2000-01-22 13:24:47.000' WHERE Id = '9b61eaa8-ce89-4119-96db-2a76985d5fe4'

 

5) Удаляем ошибочно заблокированный файл из библиотеки SharePoint.

 

 

Комментарии   

 
0 #1 Егор 29.02.2016 10:37
:cry:
Получается, что если нет доступа к серваку, то только через админов. А выполнят они это через неделю, а док поменять надо прям щас.
Тоже самое, кстати, происходит и при замене файла, а не только при удалении \ изменении. Хотя это понятно ведь замена это delete -> insert. Приходится создавать копии, превращая шарик в помойку.
Цитировать
 

Добавить комментарий