Я хочу знать, кто блокирует файл в общей сетевой папке.
Вот проблема: общий сетевой ресурс находится на NAS, поэтому я не могу войти в систему. Мне нужен инструмент, чтобы удаленно узнать, кто блокирует файл. Перезагружать NAS каждый раз нецелесообразно, так как пользователей несколько.
Handle.exe , Process Explorer и PsFile, похоже, ограничены файлами на локальном компьютере, поэтому они не работают для меня.
На серверах Windows 2008 R2 у вас есть два средства просмотра открытых файлов и закрытия этих подключений.
Через управление общим доступом и хранилищем
Диспетчер сервера> Роли> Файловые службы> Управление общим доступом и хранилищем> щелкните правой кнопкой мыши SaSM> Управление открытым файлом
Через OpenFiles
CMD> Openfiles.exe / query / s ИМЯ СЕРВЕРА
См. Http://technet.microsoft.com/en-us/library/bb490961.aspx .
источник
PsFile работает на удаленных машинах. Если у моей учетной записи уже есть доступ к удаленному общему ресурсу, я могу просто ввести:
(замените «remote-share» на имя вашего файлового сервера), и он будет перечислять каждый открытый документ на этом общем ресурсе, вместе с тем, кто его открыл, и идентификатором файла, если я хочу принудительно закрыть файл. Для меня это действительно длинный список, но его можно сузить, введя часть пути:
Это довольно сложно, поскольку в моем случае этот удаленный общий ресурс монтируется как Z: на моем локальном компьютере, но psfile определяет пути, как они определены на удаленном файловом сервере, которым в моем случае является I: (ваш будет другим) . Мне просто нужно было просмотреть результаты моего первого запуска psfile, чтобы увидеть некоторые пути, которые он вернул, а затем запустить его снова с частичным путем, чтобы сузить результаты.
При желании PsFile позволит вам указать учетные данные для удаленного общего ресурса, если вам нужно предоставить их для доступа.
Наконец, малоизвестный совет: если кто-то щелкает файл в проводнике Windows и вырезает или копирует файл с намерением вставить его в другое место, это действие также блокирует файл.
источник
Если это просто случай узнать / увидеть, кто находится в файле в любое конкретное время (и если вы используете окна), просто выберите файл «view» как «детали», то есть вместо эскизов, плиток или значков и т. Д. в режиме просмотра «детали» по умолчанию вы будете отображаться; - Имя файла - Размер - Тип и - Дата изменения
Все, что вам нужно сделать сейчас, это щелкнуть правой кнопкой мыши в любом месте указанной панели инструментов (имя файла, размер, тип и т. Д.), И вам будет предоставлен список других параметров, которые может отображать панель инструментов.
Выберите «Владелец», и в новом столбце отобразится имя пользователя человека, использующего файл, или того, кто изначально создал его, если никто другой его не использует.
Это может быть особенно полезно при использовании общей базы данных MS Access.
источник
Сеансы обрабатываются устройством NAS. То, что вы спрашиваете, зависит от устройства NAS и не имеет ничего общего с Windows. Вам нужно будет заглянуть в прошивку вашего NAS, чтобы узнать, что он поддерживает. Единственный способ - обнюхать пакеты и решить проблему самостоятельно.
источник
Частичный ответ: с помощью Process Explorer вы можете просматривать дескрипторы в общей сетевой папке, открытой с вашего компьютера .
Используйте меню «Найти дескриптор», а затем введите такой путь
источник
похоже, что у вас та же проблема, которую я пытался решить здесь . в моем случае это файловый сервер Linux (конечно, под управлением samba), поэтому я могу войти в систему и посмотреть, какой процесс блокирует файл; К сожалению, я не нашел, как закрыть его, не убивая ответственный сеанс. AFAICT, клиент Windows «думает», что он закрыт; но не стал сообщать файловому серверу.
источник
Закройте файл
e:\gestion\yourfile.dat
, откройте его любым пользователем (/a *
)подробнее: http://dosprompt.info/commands/openfiles.asp
источник