Открываете файл на сетевом диске — и вместо книги Excel видите: «Редактирование запрещено пользователем ‘другой пользователь’». В лучшем случае это правда коллега, который сейчас работает с тем же документом. В худшем — зависший после сбоя lock-файл, антивирус, который сканирует документ в момент открытия, или резервное копирование, которое держит файл на время бэкапа. Сообщение одно, а причин за ним — десяток, и без диагностики угадать, какая именно сработала в вашем случае, не получится.
Ситуация одинаково знакома тем, кто хранит файлы на классическом файловом сервере, и тем, кто давно перешёл на OneDrive или SharePoint — только причины и способы решения там разные. Дальше разберём: как снять блокировку прямо сейчас, как узнать, кто на самом деле держит файл открытым, какие причины встречаются чаще всего и как настроить инфраструктуру так, чтобы это не повторялось каждую неделю.
- Быстрое решение
- Как узнать, кто реально держит файл открытым
- Полный список причин блокировки
- Удаление зависшего lock-файла
- Диагностика на уровне системного администратора
- Реестровые фиксы и групповые политики (когда они ещё нужны)
- Практический кейс из реального проекта
- Почему «Общая книга» — устаревший путь, и что использовать вместо неё
- Заключение
- FAQ
- Актуальна ли проблема блокировок в Office 365?
- Как разблокировать файл, если сотрудник, который его держал, уже уволился?
- Можно ли снять блокировку, не потеряв несохранённые правки другого пользователя?
- Что делать, если lock-файл ~$имя.xlsx тоже не удаляется — пишет «файл занят»?
- Как отличить реальную блокировку от зависшего lock-файла?
Быстрое решение
Прежде чем разбираться в причинах, проверьте три вещи — в половине случаев одна из них и есть ответ.
- Файл не открыт у вас самого. Подключение по RDP и локальный вход одновременно, забытая вкладка браузера с Excel Online, зависший в фоне процесс EXCEL.EXE после сбойного закрытия — всё это даёт ровно то же сообщение о блокировке, только держателем файла оказываетесь вы сами под другой сессией. Откройте диспетчер задач и убедитесь, что процесс Excel не висит фоном, и проверьте, не открыт ли файл на другом вашем устройстве.
- Не закрывайте диалог сразу — нажмите «Уведомить». Excel показывает не просто «открыть только для чтения», а кнопку, которая поставит файл на отслеживание: как только владелец закроет документ, вы получите всплывающее уведомление и сможете перейти в режим редактирования без повторного открытия файла с нуля.
- Если ждать нельзя — работайте с копией. Откройте файл в режиме только для чтения, сохраните под другим именем и вносите изменения туда. Дальше — либо сами переносите правки в оригинал после того, как он освободится, либо договоритесь с коллегой заранее, кто сохраняет финальную версию, чтобы не получить два конфликтующих файла к концу дня.
Как узнать, кто реально держит файл открытым
Сообщение Excel называет виновника обезличенно — «другой пользователь», и это первое, что хочется выяснить: кто конкретно и где.
На классическом файловом сервере
На файловом сервере откройте fsmgmt.msc (Управление компьютером → Общие папки → Открытые файлы) — там видно путь к файлу, учётную запись, под которой он открыт, и тип блокировки. Быстрее то же самое получить через PowerShell: Get-SmbOpenFile покажет все открытые на сервере файлы с привязкой к сессии, а Get-SmbSession — кто вообще сейчас подключён к серверу и с какого IP. Если нужно принудительно закрыть зависшую сессию, для этого есть Close-SmbOpenFile, но делать это нужно осторожно: пользователь, у которого правда открыт файл, потеряет несохранённые изменения.
В OneDrive и SharePoint Online ситуация проще, если файл открыт в режиме совместного редактирования — тогда прямо в Excel в правом верхнем углу видны аватары всех, кто сейчас в документе, и можно перейти к их курсору. Если же файл открыт по старой схеме (например, формат .xls или включена устаревшая «Общая книга»), такого индикатора не будет, и узнать держателя файла можно через историю версий документа или, если нужно вмешательство на уровне администратора, через PowerShell для SharePoint (Get-PnPFile с информацией о том, кем файл выставлен на чек-аут).
Отдельный случай — когда в диалоге блокировки вместо имени пользователя показано пустое поле или явно неверный человек. Обычно это значит, что реального держателя файла уже нет, а информация осталась от зависшего лок-файла — но это отдельная история, разберём её в следующем разделе.
Полный список причин блокировки
«Другой пользователь» в сообщении Excel — не всегда человек. За этой формулировкой может стоять процесс, который никто вручную не запускал, и важно перебрать весь список, а не зацикливаться на самой очевидной версии.
Включена устаревшая функция «Общая книга»
Если книга открыта в режиме Shared Workbook, несколько человек действительно правят файл одновременно — и при сохранении Excel пытается слить изменения, что само по себе создаёт окно для конфликтов и блокировок. Эта функция спрятана в современном Excel глубоко в настройках не случайно: Microsoft её больше не развивает именно из-за подобных проблем.
Завис lock-файл ~$имя.xlsx
Если соединение с сервером обрывается до того, как Excel успевает корректно закрыть файл — после обрыва сети, перезагрузки сервера, аварийного завершения процесса — служебный файл-владелец остаётся в папке. Новый пользователь, который пытается открыть документ, видит блокировку от человека, который на самом деле уже давно его закрыл.
Антивирус или EDR сканирует файл в момент открытия
Defender, Kaspersky и другие защитные решения с включённой проверкой в реальном времени иногда успевают захватить файл на долю секунды раньше Excel — особенно сразу после копирования файла на диск или его получения по сети.
Резервное копирование держит файл во время бэкап-окна
Veeam, Windows Server Backup и аналогичные агенты могут открывать файлы с эксклюзивным доступом на момент снятия снапшота. Если жалобы на блокировку появляются строго в одно и то же время суток — это первый кандидат на проверку.
Репликация DFSR в процессе
На серверах с настроенной репликацией файл может быть временно недоступен для записи, пока служба репликации синхронизирует его между узлами — особенно после массового изменения большого количества файлов.
Включена область предпросмотра или сведений в проводнике
Это подтверждённая самой Microsoft причина: предпросмотр документа в панели проводника обращается к файлу и в редких случаях мешает Excel получить нормальный доступ. Проблема старая, но воспроизводится и на современных версиях Windows.
Конфликт синхронизации в OneDrive
Если файл синхронизируется на нескольких устройствах одновременно, или его статус застрял на «только в облаке» в момент попытки открыть, OneDrive может создать конфликтующую копию вместо того, чтобы дать редактировать оригинал — внешне это тоже выглядит как блокировка, хотя причина совсем не та, что при работе с файловым сервером.
Удаление зависшего lock-файла
Если блокировка осталась от уже закрытого файла, ждать тут нечего — проще удалить служебный файл вручную и открыть документ заново.
- Сначала убедитесь, что файл действительно свободен. Прогоните проверку из раздела 2 — через
fsmgmt.mscилиGet-SmbOpenFileпосмотрите, открыт ли файл реально кем-то прямо сейчас. Удаление лок-файла у человека, который правда работает с документом, оборвёт его сессию и может стоить несохранённых правок — этот шаг нельзя пропускать. - Включите отображение скрытых файлов. Служебный файл создаётся с префиксом ~$ перед именем оригинала (например, ~$отчёт.xlsx) и помечен как скрытый и системный, поэтому в проводнике по умолчанию его не видно. В параметрах папок включите «Скрытые элементы», либо в командной строке выполните dir /a:h в нужной папке, чтобы убедиться, что файл там есть.
- Удалите файл и откройте документ снова. Если он действительно никем не используется, удаление проходит без ошибок и сам оригинальный документ не затрагивается: лок-файл не хранит данные книги, только метаинформацию о сессии — кто открыл файл и когда. После удаления просто откройте оригинал.
- Если удалить не получается — значит, файл занят чем-то другим. Антивирус или процесс резервного копирования из раздела 3 иногда держит хендл и на самом лок-файле, а не только на оригинале. В этом случае можно воспользоваться утилитой Process Explorer от Sysinternals. Запустите ее, далее через Find → Find Handle or DLL найдите процесс, который его держит, либо подождите — после завершения сканирования или бэкапа блокировка снимется сама.
Диагностика на уровне системного администратора
Если блокировка повторяется регулярно и у разных людей, разовых проверок из раздела 2 уже не хватит — нужно поймать сам момент возникновения проблемы и зафиксировать, что именно держит файл.
Process Monitor покажет, что происходит с файлом в реальном времени. Запустите ProcMon с фильтром по имени файла или по пути к общей папке и попросите пользователя повторить попытку открыть документ. В трассировке будет видно, какой процесс обращается к файлу прямо перед отказом — антивирус, служба индексирования, агент бэкапа или сам Excel другого пользователя. Это быстрее, чем перебирать версии вручную.
Process Explorer покажет, кто держит хендл на файл сервера. Через Find → Find Handle or DLL по имени файла можно увидеть все процессы во всей системе, у которых открыт хендл на этот конкретный файл — не только Excel, но и фоновые службы. Полезно снять такой снимок именно в момент, когда пользователь жалуется на блокировку, а не после того, как всё уже разрешилось само.
Проверьте настройки oplock на сервере. Современный SMB работает с durable handles и leasing иначе, чем старый SMB1, и неверно настроенные параметры иногда дают эффект зависшей блокировки даже без сбоев сети. Команда Get-SmbServerConfiguration на файловом сервере покажет текущие значения — есть смысл сравнить их с рекомендованными для вашей версии Windows Server, особенно если сервер обновлялся с более старой версии без пересмотра конфигурации.
Если дело не в самом сервере, а в сети — снимайте трафик. Race condition на уровне протокола SMB воспроизводится редко и нерегулярно, и тут без захвата трафика (Network Monitor или Wireshark) между клиентом и сервером в момент открытия файла разобраться почти невозможно — симптомы будут одинаковыми и при сетевой проблеме, и при банальном антивирусе.
Реестровые фиксы и групповые политики (когда они ещё нужны)
Если в инфраструктуре до сих пор есть смешанный парк — клиенты без самых свежих обновлений, Office в редакции LTSC, классический файл-сервер без перехода на современный SMB-стек — иногда до причины блокировки доходят именно через правки реестра. Стоит сразу понимать: это не универсальный фикс для актуального стека Windows 10/11 + Microsoft 365, а скорее последний рубеж для legacy-окружений, который перед применением имеет смысл дополнить актуальными накопительными обновлениями ОС и Office — без них реестровые ключи иногда просто не срабатывают.
Отключение oplock для документов Office
Добавьте на клиентских машинах два значения в реестр:
Key: HKEY_CLASSES_ROOT\CLSID\{993BE281-6695-4BA5-8A2A-7AACBFAAB69E}
Name: EnableShareDenyNone, Type: REG_DWORD, Value: 1
Name: NoOpLock, Type: REG_DWORD, Value: 1Оба значения нужны одновременно — по отдельности эффекта не будет. После добавления требуется перезагрузка клиента. Эти ключи отключают opportunistic locking конкретно для обработчика документов Office, который иногда конфликтует с тем, как Excel удерживает файл на сетевом ресурсе.
Отключение области предпросмотра через групповую политику
Если причина — включённая панель сведений или всплывающие подсказки из раздела 3, для одного компьютера достаточно снять галочки в параметрах папок, а для всего парка проще раздать настройку через GPO: административные шаблоны закрывают саму панель предпросмотра, а для всплывающих подсказок нужного шаблона нет, и значение ShowInfoTip в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced придётся раздавать через Group Policy Preferences.
Пример из практики
На инфраструктуре с Windows 7, Windows Server 2008 R2 и Office 2010 такая комбинация — установка актуальных на тот момент накопительных обновлений плюс оба реестровых ключа — решила проблему окончательно, после нескольких недель безуспешных попыток через настройки проводника. Для современного стека такой длинный путь почти наверняка не понадобится, но если у вас именно эта связка версий, последовательность действий та же, об этом читайте далее.
Практический кейс из реального проекта
В нашем окружении (Клиентские ПК – Windows 7, Office 2010; Серверы – Windows 2008 R2) проблема возникла после переноса файлового ресурса с удаленной площадки в центральный офис. Естественно первым делом были проверены все права доступа в NTFS и на Share, но с этим все было в порядке.
Также были проведены эксперименты, исключающие версии о блокировке файла антивирусным ПО, службой репликации DFSR и заданиями robocopy.exe.
Поискав по Интернету, наткнулись на упоминания на форумах о возможной блокировке файлов из-за включенных в проводнике Windows области сведений и области предварительного просмотра,
а также из-за всплывающих подсказок для папок и элементов рабочего стола (Мой компьютер, Упорядочить, Параметры папок и поиска, Вид):
Настройку проводника большому количеству пользователей самое простое было сделать через групповые политики (Group Policy).
Пример отчета групповой политики по настройке области сведений и области предварительного просмотра:
Как вы видите, использовались административные шаблоны групповых политик, поэтому сложностей с настройкой не возникло.
Чуть трудней было со всплывающими подсказками, так как стандартной настройки в административных шаблонах нет. Нам необходимо было добавить следующую информацию в реестр:
Key: KEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced Name: ShowInfoTip Type: REG_DWORD Value: 0
Самое простое было использовать для этих целей так называемые Group Policy Preferences.
Пример отчета по настройке реестра через Preferences:
Результат экспериментов с настройками проводника оказался отрицательным — файл Excel все равно периодически был занят другим пользователем.
Поддержка Microsoft рекомендовала установить обновления из замечательной статьи из блога команды поддержки Excel, а также добавить следующие значения в реестр на клиентах:
Key: HKEY_CLASSES_ROOT\CLSID\{993BE281-6695-4BA5-8A2A-7AACBFAAB69E}
Name: EnableShareDenyNone
Type: REG_DWORD
Value: 1
Key: HKEY_CLASSES_ROOT\CLSID\{993BE281-6695-4BA5-8A2A-7AACBFAAB69E}
Name: NoOpLock
Type: REG_DWORD
Value: 1Что и было сделано – установлены обновления для Windows на серверах и клиентах, и обновлен Office на клиентах. Значения в реестр были добавлены через уже знакомые нам Group Policy Preferences. И это сработало!
Подробнее про установленные обновления
В нашем случае были установлены следующие номера KB Microsoft:
На Windows Server 2008 R2 и Windows 7:
- KB3037941
- KB3023557
- KB2870437
- KB2974617
- KB3004383
- KB2639043
- KB2831206
- KB2896146
- KB3125574
- KB3172605
- KB3179573
На Windows Server 2008 R2:
- KB2761922
- KB3177186
- KB3125574
На Windows 7:
- KB3175024
- KB3075623
- KB3044428
- KB3020369
- KB3015999
- KB2967567
На Office 2010:
- SP2
Хотя изначально был определенный скепсис относительно того, что это можно решить установкой патчей, но в результате вместе с настройками реестра нам удалось устранить эту проблему, и мы смогли перенести общую папку на другой сервер.
Совет. Обновления желательно все таки ставить не только критические, но и рекомендованные.
Почему «Общая книга» — устаревший путь, и что использовать вместо неё
Функция «Общая книга» (Shared Workbook) в Excel существует с конца 90-х и работает по принципу периодического слияния изменений: каждый пользователь хранит свою локальную копию, а при сохранении Excel пытается склеить правки всех участников в один файл. Именно из-за этой механики и возникают блокировки, конфликты версий и потеря данных — не как баг, а как прямое следствие архитектуры.
Microsoft это прекрасно понимает: в современных версиях Excel кнопка включения «Общей книги» спрятана настолько глубоко, что её нужно специально доставать через настройку ленты, а в Excel для Web её нет вообще. Вместо неё компания уже много лет продвигает co-authoring — настоящее совместное редактирование, где все участники работают с одним документом одновременно, и изменения видны друг другу в реальном времени.
Co-authoring работает только если файл лежит в OneDrive (личном или корпоративном), SharePoint Online или SharePoint Server с подпиской. Именно расположение файла, а не версия Excel определяет, будет ли совместная работа. Если книга на сетевом диске по SMB — co-authoring не включится ни в каком Excel, хоть 2019, хоть 365.
Как это выглядит на практике. Файл открывается в Excel с настольного клиента, в левом верхнем углу появляется переключатель AutoSave — его нужно включить. Дальше в правом верхнем углу отображаются аватары всех, кто сейчас в документе, и можно видеть чужие курсоры прямо в ячейках. Изменения уходят на сервер автоматически каждые несколько секунд, вручную сохранять не нужно. Если два человека правят одну и ту же ячейку, Excel не выдаёт конфликт, а честно показывает обе версии и даёт выбрать. То же самое работает в Excel для Web — можно подключиться с любого браузера без установленного Office.
Для администратора переход на co-authoring решает проблему блокировок радикально: не нужно править реестр, отключать oplock, бороться с зависшими lock-файлами и объяснять пользователям, почему их правки потерялись при слиянии. Файл физически больше не лежит на SMB-шаре, и вся механика сетевых блокировок обходится стороной.
Сравнение двух подходов
| Параметр | Файл-сервер + «Общая книга» | OneDrive / SharePoint + co-authoring |
|---|---|---|
| Одновременная работа | Псевдо-совместная: изменения сливаются при сохранении | Настоящая: правки видны сразу, без сохранения |
| Конфликты версий | Частые, часто с потерей чужих правок | Редкие, с явным выбором версии в ячейке |
| Блокировки файла | Регулярно, особенно при нестабильной сети | Практически не возникают |
| Работа с мобильного / браузера | Нет | Да, через Excel для Web и мобильные приложения |
| История изменений | Только через теневые копии на сервере | Полная история версий с возможностью отката на любую |
| Зависимость от сети | Критичная: обрыв = риск потери несохранённого | Автосохранение каждые несколько секунд |
| Размер файла | Работает с любыми, даже очень большими | До нескольких сотен МБ комфортно, дальше возможны задержки |
| Требует администрирования | Да: SMB, oplock, GPO, реестр | Минимально, если SharePoint уже развёрнут |
Это не значит, что файловые серверы нужно срочно сносить. Есть сценарии, где они по-прежнему имеют смысл: очень большие книги (финансовые модели на сотни мегабайт, сводные отчёты с тяжёлыми Power Query), файлы, которые должны лежать в конкретной юрисдикции без захода в облако, интеграция со старыми ERP, которые умеют работать только с SMB-шарами. В таких случаях «Общую книгу» всё равно включать не стоит — лучше договориться о дисциплине «один редактор в моменте» и использовать блокировки через чек-аут в SharePoint, если он есть, либо просто организационно.
Но если речь про обычные рабочие документы, которые правят несколько человек, — переход на co-authoring решает проблему «файл занят другим пользователем» не лечением симптомов, а устранением самой причины. Все реестровые ключи, lock-файлы и oplock-и из предыдущих разделов просто перестают быть релевантными, потому что файл больше не открывается по SMB.
Заключение
Блокировка файла Excel — это почти никогда не одна причина, и универсальной кнопки «починить» тут нет. Но есть последовательность, которая в 9 случаях из 10 приводит к результату за 5–10 минут, без копания в реестре и перенастройки сервера.
Чек-лист диагностики, с которого стоит начинать:
- Проверьте себя. Закройте все окна Excel, включая браузерные вкладки с Excel Online, убедитесь в диспетчере задач, что EXCEL.EXE не висит в фоне. В половине случаев «другой пользователь» — это вы сами из забытой сессии.
- Посмотрите, кто реально держит файл. На файловом сервере — через
fsmgmt.mscилиGet-SmbOpenFile. В SharePoint — через аватары в правом верхнем углу окна Excel или историю версий. - Если файл никто не держит, но блокировка есть — ищите зависший lock-файл ~$имя.xlsx. Включите показ скрытых файлов в проводнике и удалите его.
- Если блокировка появляется в одно и то же время — проверьте расписание бэкапов и антивирусного сканирования.
- Если проблема хроническая и у разных людей — снимайте трассировку через Process Monitor, чтобы поймать конкретный процесс в момент отказа.
- Если файл регулярно правят несколько человек — рассмотрите перенос в OneDrive или SharePoint и переход на co-authoring. Это не «ещё один совет из статьи», а способ вообще убрать проблему из жизни.
Реестровые ключи, отключение oplock, правки GPO из раздела 6 — это рабочий инструмент, но только для специфических legacy-окружений. В современной инфраструктуре Windows 10/11 + Microsoft 365 они почти никогда не нужны, и начинать диагностику с них — значит идти не с той стороны.
FAQ
Актуальна ли проблема блокировок в Office 365?
Да, но реже и по другим причинам. Если файл лежит на файловом сервере по SMB — блокировки работают точно так же, как в Office 2010, версия Office тут ни на что не влияет. Если же файл в OneDrive или SharePoint Online и открыт через co-authoring — классических блокировок «файл занят другим пользователем» не бывает, потому что механика SMB-оплоков там просто не задействована. Остаются только зависшие lock-файлы, конфликты синхронизации OneDrive и случаи, когда файл открыт в устаревшем режиме «Общей книги» или в старом формате .xls.
Как разблокировать файл, если сотрудник, который его держал, уже уволился?
Если файл на файловом сервере — его сессия должна была закрыться автоматически при отключении учётной записи, но иногда хендл остаётся висеть. Через fsmgmt.msc или Get-SmbOpenFile найдите запись и закройте её через Close-SmbOpenFile. Параллельно проверьте папку на наличие зависшего lock-файла ~$имя.xlsx — после увольнения это самая частая причина. В SharePoint Online, если файл остался в состоянии check-out на уволенного пользователя, администратор коллекции сайтов может снять check-out через настройки библиотеки документов → «Отменить извлечение» (Discard Check Out).
Можно ли снять блокировку, не потеряв несохранённые правки другого пользователя?
Если человек реально сейчас работает с файлом — нет, снять блокировку без потерь нельзя. Любое принудительное закрытие сессии на сервере (Close-SmbOpenFile) или удаление lock-файла приведёт к тому, что при следующей попытке сохранить его правки Excel предложит сохранить их в отдельный файл, а в оригинал они не попадут автоматически. Правильный путь в такой ситуации — дождаться, пока человек сам закроет документ, либо подойти к нему и договориться. Кнопки «забрать файл с сохранением чужих правок» не существует ни в Excel, ни в Windows Server.
Что делать, если lock-файл ~$имя.xlsx тоже не удаляется — пишет «файл занят»?
Значит, его держит какой-то процесс — обычно это антивирус, агент резервного копирования или служба индексирования Windows. Откройте Process Explorer, через меню Find → Find Handle or DLL введите имя lock-файла и посмотрите, какой процесс держит хендл. Если это MsMpEng.exe — это Defender сканирует файл, достаточно подождать. Если это процесс бэкап-агента — дождитесь окончания окна резервного копирования. Удалять lock-файл через перезагрузку сервера стоит только в крайнем случае и только после того, как вы убедились, что оригинальный файл действительно никем не открыт.
Как отличить реальную блокировку от зависшего lock-файла?
При реальной блокировке в fsmgmt.msc или через Get-SmbOpenFile видна активная сессия с типом блокировки, и в диалоге Excel обычно отображается имя конкретного пользователя. При зависшем lock-файле активной сессии на файл нет — он просто лежит в папке, а в диалоге Excel вместо имени часто показано «другой пользователь» без уточнений, либо имя человека, который уже давно закрыл документ. Самый надёжный способ различить — открыть папку с включённым показом скрытых файлов: если видите ~$имя.xlsx и при этом файл нигде не открыт по данным сервера — это точно зависший lock-файл, его можно удалять.









Спасибо, за статью. Мне тоже помогло.
если знаете пользователя, завершите сессии все его на ADшке))
Удалить временный файл.
Как удалить временный файл, если он также занят?