Команда OPENFILES используется для получения списка открытых файлов и папок в среде операционных систем Windows XP и старше. Возможно получение списка файлов, открытых удаленно с использованием сетевого доступа, или полного списка, включая файлы и папки, открытые локальными процессами. Кроме того, команда позволяет выполнить отключение сеансов удаленного открытия файлов или каталогов. Для работы с данной командой требуются права администратора ( «Запуск от имени администратора» в среде Windows 7 и старше).

1. Описание команды OPENFILES.

1.1. Формат командной строки:

C:\ OPENFILES /параметр [аргументы]

1.2. Список параметров:

  • /Disconnect — Отключение одного и более открытых файлов.
  • /Query — Отображение открытых файлов, локально и с сетевого ресурса.
  • /Local — Включает/отключает отображение локально открытых файлов.
  • /? — Вывод справки.

1.3. Для получения справки по использованию команды с конкретным параметром используется следующий формат командной строки:

1.3.1. Отобразить подсказку по использованию команды OPENFILES с параметром /Disconnect:

C:\ openfiles /Disconnect /? - 

1.3.2. Выдать подсказку по использованию параметра /Query в постраничном режиме вывода на экран:

C:\ openfiles /Query /? | more

1.3.3. Выдать подсказку по использованию параметра /Local в текстовый файл D:\oflocal.txt

openfiles /Local /? > D:\oflocal.txt

2. Примеры получения списка открытых файлов.

2.1. Для управления режимом построения списка открытых файлов используется глобальный переключатель списка объектов (maintain objects list) текущее значение которого можно проверить командой :

C:\ openfiles /Local

2.2. Если флаг «построение списка объектов» включен, то команда OPENFILES отображает список файлов и папок, открытых как локально, так и по сети. Для отключения режима отображения списка файлов, открытых локальными процессами, используется команда:

C:\ openfiles /local off

Для вступления в силу нового режима построения списка открытых файлов, может потребоваться перезагрузка системы.

2.3. Список открытых файлов отображается с использованием команды:

C:\ openfiles /Query.

2.4. Формат командной строки:

C:\ openfiles /Query [/S система [/U пользователь [/P [пароль]]]] [/FO формат] [/NH] /V]

2.5. Список параметров:

  • /S система — Подключаемый удаленный компьютер.
  • /U [<домен>\]пользователь — Пользовательский контекст, в котором должна выполняться эта команда.
  • /P [пароль] — Пароль для этого пользовательского контекста.
  • /FO формат — Формат, в котором следует отобразить выходной файл. Допустимые форматы: «TABLE»,»LIST»,»CSV».
  • /NH — Указывает, что строка заголовков столбцов не должна отображаться. Допустимо только для форматов «TABLE», «CSV».
  • /V — Отображать расширенную информации в результатах.
  • /? — Вывод справки по использованию.

2.6. Примеры:

2.6.1. Отобразить справку по использованию команды:

C:\ openfiles /Query /?

2.6.2. Отобразить список открытых файлов и папок с параметрами по умолчанию:

C:\ openfiles /Query

2.6.3. Отобразить список открытых файлов в формате CSV — полей, разделяемых запятой, без отображения заголовков столбцов ( /NH ):

C:\ openfiles /Query /FO CSV /NH

2.6.4. Отобразить список открытых файлов в виде таблицы (TABLE) с включением дополнительной информации (/V) об имени пользователя и идентификаторе процесса (PID)

C:\ openfiles /Query /FO TABLE /V

По умолчанию, используется список в формате таблицы, поэтому параметр /FO TABLE можно не указывать.

2.6.5. Отобразить список открытых файлов на удаленном компьютере, с использованием имени пользователя и пароля, задаваемых в командной строке:

C:\ openfiles /Query /S <система> /U <пользователь> /P <пароль>

2.6.6. Отобразить список открытых файлов на удаленном компьютере SERVER:

C:\openfiles /S SERVER /U mydonain\user1 /P mypass

Для выполнения команды на удаленном компьютере используется имя пользователя user1 в домене mydomain и пароль mypass. Если имя пользователя и пароль не заданы — используется учетная запись, в контексте которой выполняется команда OPENFILES.

2.6.7. То же, что и в предыдущем примере, но вместо имени удаленного компьютера, используется его IP-адрес:

C:\ openfiles /S 192.168.0.1 /U mydonain\user1 /P mypass

2.6.8. Записать результаты выполнения команды в текстовый файл C:\OpenedFiles.txt:

C:\ openfiles /Query > C:\OpenedFiles.txt

В отображаемой информации увидите следующее:

  • ID — уникальный идентификатор открытого файла или папки.
  • Имя процесса — имя процесса, открывшего файл или папку.
  • Открыть файл (Путь\исполнимый файл) — очевидно, не самый удачный перевод на русский язык. В данной колонке отображается имя и путь открытого файла или папки.

При использовании параметра /V в таблицу добавляются колонки:

  • Пользователь — имя пользователя, в контексте учетной записи которого открыт файл.
  • PID — уникальный идентификатор процесса, который открыл файл. В системе может быть несколько процессов имеющих оно и то же имя исполняемого файла (svchost.exe, cmd.exe и т.п.) однако каждый из них имеет уникальный PID, по значению которого можно выделить конкретный процесс. Пример отображаемой таблицы, полученной при выполнении команды с параметром /V:

3. Принудительное отключение сеансов удаленного открытия файлов.

Для отключения файлов и папок, которые были удаленно открыты на общем ресурсе, используется параметр /Disconnect. Необходимо учитывать, что команда OPENFILES не предназначена для полного запрета сетевого доступа к файлам и папкам, а всего лишь выполняет сброс отдельной удаленной сессии.

3.1. Формат командной строки:

C:\ openfiles /Disconnect [/S система [/U пользователь [/P [пароль]]]] {[/ID идентификатор] /A пользователь] [/O режим]} [/OP открытый файл]

3.2. Параметры:

  • /S система — Подключаемый удаленный компьютер.
  • /U [домен\]пользователь — Пользовательский контекст, в котором должна выполняться эта команда.
  • /P [пароль] — Пароль для этого пользовательского контекста.
  • /ID идентификатор] — Отключение всех открытых файлов по идентификатору. Допускается использование подстановочного символа «*».
  • /A пользователь — Отключение всех открытых файлов указанным в параметре пользователем. Допускается использование «*».
  • /O режим — Отключение всех открытых файлов, с указанным в параметре режимом. Допустимые значения параметра: Read,Write или Read/Write. Допускается использование подстановочного знака»*».
  • /OP открытый файл — Отключение всех файлов, открытых указанным в параметре файлом. Допускается использование подстановочного символа «*».
  • /? — Вывод справки по использованию.

3.3. Примеры использования:

3.3.1. Сбросить подключение к файлу или папке с идентификатором 1:

C:\ openfiles /Disconnect /ID 1

3.3.2. Сбросить подключения, созданные пользователем user1:

C:\ openfiles /Disconnect /A user1

3.3.3. Сбросить подключения, имеющие режим «Чтение\Запись»:

C:\ openfiles /Disconnect /O Read/Write

3.3.4. Выполнить сброс всех сессий ( /ID * ) на удаленном компьютере с именем SERVER:

C:\ openfiles /Disconnect /S SERVER /U user1 /P pass1 /ID *

При подключении к удаленному компьютеру используется имя пользователя user1 и пароль pass1.