Дізнайтеся, хто блокує файл у спільній мережі


141

Я хочу знати, хто блокує файл у спільній мережі.

Ось проблема: мережева частка знаходиться в NAS, тому я не можу ввійти. Мені потрібен інструмент, щоб дистанційно з’ясувати, хто блокує файл. Нераціонально перезавантажувати NAS кожен раз, тому що є кілька користувачів.

Handle.exe , Провідник процесів і PsFile, здається, обмежені файлами на локальній машині, тому вони не працюють для мене.

Відповіді:


172

Про всяк випадок, коли хтось шукає рішення для системи Windows або NAS:

У Windows є вбудована функція, яка показує, які файли на локальному комп’ютері відкриті / заблоковані віддаленим комп'ютером (у якому файл відкритий через спільний доступ до файлів):

  • Виберіть "Керування комп'ютером" (Відкрийте "Керування комп'ютером")
  • натисніть "Спільні папки"
  • виберіть "Відкрити файли"

Там ви навіть можете насильно закрити файл.


10
Ви навіть можете використовувати Action -> Підключити до іншого комп'ютера файл до NAS, і він навіть працює з нашим Linux на базі Linux! Чому я не спробував цього раніше?
олорін

20
У Windows 2008 R2 перейдіть до Менеджера серверів> Ролі> Файлові послуги> Управління спільним доступом та зберіганням> клацніть правою кнопкою миші на SaSM> Управління відкритими файлами.
Джейсон Пірс

Просто відкрийте консоль MMC та додайте оснащення загальних папок. Ви можете підключитися до віддалених систем.
nizx

2
Для частки домену це не спрацювало. Формулювання, схоже, означає, що файли, розташовані у вашій мережі, мають загальний доступ.
кевінф

1
Для цього я застосував додаток під назвою Unlocker (файл був у NAS). Додаток тут: filehippo.com/download_unlocker/tech і він працював для мене , але я не можу ручатися за цією програмою
Дену

58

На серверах Windows 2008 R2 у вас є два способи перегляду, які файли відкриті та закриття цих з'єднань.

Через управління спільним доступом та зберіганням

Менеджер сервера> Ролі> Файлові послуги> Управління спільним доступом та зберіганням> клацніть правою кнопкою миші SaSM> Управління відкритим файлом

Через OpenFiles

CMD> Openfiles.exe / query / s SERVERNAME

Див. Http://technet.microsoft.com/en-us/library/bb490961.aspx .


2
Чудова відповідь. Я не знав про Openfiles; це працює набагато краще, ніж використовувати psexec або подібні засоби для видалення.
twasbrillig

@twasbrillig нормально, але якщо це NAS, а не Windows! C: \> Openfiles.exe / query / s 10.0.0.1 <ENTER> ПОМИЛКА: Система цілі повинна мати ОС Windows XP або вище.
барлоп

Варто зазначити, що вузли "Ролі" тощо розширюються із запізненням.
СерГ

Дякую за це, openfiles.exe також працює на Windows Server 2012 R2. Не вдалося знайти жодних хороших посібників про те, як перелічити відкриті файли з сервера 2012 року, але це зробило трюк.
Oldskool

Приємна команда CMD, дякую за обмін! Windows 10 Enterprise поставляється з Openfiles.exe прямо поза коробкою.
Лев Гурдян

25

PsFile працює на віддалених машинах. Якщо мій обліковий запис уже має доступ до віддаленої спільної доступу, я можу просто ввести:

psfile \\remote-share

(замініть "віддалений папку" на ім'я вашого файлового сервера), і він відобразить список усіх відкритих документів у цій спільній спільній доступності, а також того, хто її відкрив, та ідентифікатора файла, якщо я хочу примусити файл закрити. Для мене це справді довгий список, але його можна звузити, ввівши частину шляху:

psfile \\remote-share I:\\Human_Resources

Це дещо хитро, оскільки в моєму випадку ця віддалена спільна частина монтується як Z: на моїй локальній машині, але psfile визначає шляхи, як вони визначені на віддаленому файловому сервері, який у моєму випадку я: (ваш буде іншим) . Мені просто довелося прочесати результати мого першого запуску psfile, щоб побачити деякі шляхи, які він повернув, а потім запустити його знову частковим шляхом, щоб звузити результати.

За бажанням, PsFile дозволить вам вказати облікові дані для віддаленої спільної доступу, якщо вам потрібно надати їх для доступу.

Нарешті, маловідома порада: якщо хтось натискає на файл у Провіднику Windows і вирізає або копіює файл з наміром вставити його десь в іншому місці, цей акт також встановлює замок на файл.


чи повинні бути подвійні \ s?
PsychoData

@PsychoData, минув час, коли я опублікував це. Я сподіваюсь, що я розмістив повідомлення правильно. \\ перед частиною віддаленої спільної передачі виглядає правильно, але \\ в I: \\ Human_Resources виглядає дивно. Тим не менш, я думаю, що я мав причину для цього, коли розміщував повідомлення. Спробуйте це, і дайте мені знати.
Баодад

14

Якщо ви просто знаєте / бачите, хто знаходиться у файлі в будь-який конкретний час (і якщо ви використовуєте Windows), просто виберіть файл "view" як "деталі", тобто замість мініатюр, плиток чи піктограм тощо. Раз у режимі перегляду деталей, за замовчуванням вам буде показано; - Назва файлу - Розмір - Тип та - Дата зміни

Все, що вам потрібно зробити зараз - це клацнути правою кнопкою миші будь-де вздовж зазначеної панелі інструментів (ім'я файлу, розмір, тип тощо), і вам буде наданий список інших параметрів, які може відображатися на панелі інструментів.

Виберіть "Власник", і в новому стовпці відображатиметься ім'я користувача, який використовує файл, або який його створив спочатку, якщо його ніхто не використовує.

Це може бути особливо корисно при використанні спільної бази даних MS Access.


4
У моєму випадку не вийшло. Я додаю стовпець і бачу себе творцем спільного файлу на віддаленому ресурсі, але його вже заблокував майстер.
Девід Оліван Убіето

5
Це дійсно добре працює лише тоді, коли програма, в якій вони перебувають, створить файл блокування (наприклад, MS Access), яким належить той, хто ним користується, а не оригінальний автор файлу
PsychoData

1
Щоб зберегти додавання стовпця, ви можете побачити ту саму інформацію, якщо переглянете властивості файлу та переглянете вкладку "Деталі".
Malvineous

Це дуже добре працює для таких речей, як файли MS Word.
Трид

5

Сеанси обробляються пристроєм NAS. Те, що ви запитуєте, залежить від пристрою NAS і нічого спільного з Windows. Вам потрібно буде ознайомитися з вашою прошивкою NAS, щоб переконатися, що вона підтримує. Єдиний інший спосіб - обнюхати пакети і опрацювати їх самостійно.


Ну це гарна відповідь із здоровим глуздом. На жаль, цей NAS не пропонує такої функціональності.
олорін

5

Часткова відповідь: За допомогою Провідника процесів ви можете переглядати ручки на мережевій папці, відкритій з вашої машини .

Використовуйте меню "Знайти ручку", і тоді ви можете ввести такий шлях

\Device\LanmanRedirector\server\share\

2

здається, у вас є та сама проблема, яку я намагався вирішити тут . у моєму випадку це сервер файлів Linux (звичайно працює самба), тож я можу увійти та побачити, який процес блокує файл; на жаль, я не знайшов, як це закрити, не вбиваючи відповідальної сесії. AFAICT, клієнт Windows "думає", що це закрито; але не потурбував сказати файловому серверу.


Звучить вірогідно: наскільки я знаю, наша NAS використовувала спеціальний дистрибутив Linux.
олорін

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.