List opened files windows

Команда OPENFILES — управление открытыми по сети или локально файлами.

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

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

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

/Disconnect — Отключение одного и более открытых файлов.

/Query — Отображение открытых файлов, локально и с сетевого ресурса.

/Local — Включает/отключает отображение локально открытых файлов.

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

OPENFILES /Disconnect /? — отобразить подсказку по использованию команды OPENFILES с параметром /Disconnect

OPENFILES /Query /? | more — выдать подсказку по использованию параметра /Query в постраничном режиме вывода на экран

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

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

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

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

openfiles /local off

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

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

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

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

/S система — Подключаемый удаленный компьютер.

/U [ \]пользователь — Пользовательский контекст, в котором должна выполняться эта команда.

/P [пароль] — Пароль для этого пользовательского контекста.

/FO формат — Формат, в котором следует отобразить выходной файл. Допустимые форматы: «TABLE»,»LIST»,»CSV».

/NH — Указывает, что строка заголовков столбцов не должна отображаться. Допустимо только для форматов «TABLE», «CSV».

/V — Отображать расширенную информации в результатах.

/? — Вывод справки по использованию.

OPENFILES /Query /? — отобразить справку по использованию команды.

OPENFILES /Query — отобразить список открытых файлов и папок с параметрами по умолчанию.

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

OPENFILES /Query /FO TABLE /V — отобразить список открытых файлов в виде таблицы (TABLE) с включением дополнительной информации (/V) об имени пользователя и идентификаторе процесса (PID). По умолчанию, используется список в формате таблицы, поэтому параметр /FO TABLE можно не указывать.

Читайте также:  Krusader linux как пользоваться

OPENFILES /Query /S /U /P — отобразить список открытых файлов на удаленном компьютере, с использованием имени пользователя и пароля, задаваемых в командной строке.

OPENFILES /S SERVER /U mydonain\user1 /P mypass — отобразить список открытых файлов на удаленном компьютере SERVER . Для выполнения команды на удаленном компьютере используется имя пользователя user1 в домене mydomain и пароль mypass . Если имя пользователя и пароль не заданы — используется учетная запись, в контексте которой выполняется команда OPENFILES

OPENFILES /S 192.168.0.1 /U mydonain\user1 /P mypass — то же, что и в предыдущем примере, но вместо имени удаленного компьютера, используется его IP-адрес.

OPENFILES /Query > C:\OpenedFiles.txt — записать результаты выполнения команды в текстовый файл C:\OpenedFiles.txt

Пример списка открытых файлов, полученного по команде OPENFILES /Query :

Список файлов, открытых локально:
———————-

ID
=====
8
48
8
8
668
. . .
Имя процесса
===============
dwm.exe
dwm.exe
taskhost.exe
explorer.exe
explorer.exe

Открыть файл (Путь\исполнимый файл)
==================================
C:\Windows\System32
C:\Windows\System32\ru-RU\dwm.exe.mui
C:\Windows\System32
C:\Windows\System32
C:\Windows\Fonts\StaticCache.dat

ID — уникальный идентификатор открытого файла или папки.

Имя процесса — имя процесса, открывшего файл или папку.

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

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

Пользователь — имя пользователя, в контексте учетной записи которого открыт файл.

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

ID
====
8
48
8
8
668
Пользователь
============
user1
user1
user1
user1
user1
PID
========
3284
3284
3292
3348
3348
Имя процесса
=============
dwm.exe
dwm.exe
taskhost.exe
explorer.exe
explorer.exe
Открыть файл (Путь\исполнимый файл)
==========================
C:\Windows\System32
C:\Windows\System32\ru-RU\dwm.exe.mui
C:\Windows\System32
C:\Windows\System32
C:\Windows\Fonts\StaticCache.dat

Пример таблицы открытых файлов, при выключенном переключателе построения списка локальных объектов ( параметр /Local OFF ) :

Информация: Флаг «построение списка объектов» должен быть включенным, чтобы видеть открытые локально файлы. Подробнее смотрите Openfiles /?.

ID
======
0
2
4
Пользователь
============
USER1
USER2
USER2
Тип
=======
Windows
Windows
Windows
Открытый файл (Путь\файл)
========================
C:\ERDC.7_64
C:\ERDC.7_64
C:\ERDC.7_64\bootmgr

В случае расширенного отображения данных ( параметр /V ), в таблицу добавляются колонки с именем узла, количеством блокировок при совместном использовании одного и того же файла разными пользователями ( #Locks ) и режим открытия (Чтение, Запись, Запись\Чтение):

Имя узла
========
TEST7
TEST7
ID
======
0
50
Пользователь
============
USER1
USER2
Тип
=======
Windows
Windows
#Locks
======
0
0
Режим открытия
==============
Чтение
Чтение
Открытый файл (Путь\файл)
========================
C:\ERDC.7_64
C:\EFI\microsoft\boot

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

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

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

OPENFILES /Disconnect [/S система [/U пользователь [/P [пароль]]]] <[/ID идентификатор] /A пользователь] [/O режим]>[/OP открытый файл]

/S система — Подключаемый удаленный компьютер.

/U [домен\]пользователь — Пользовательский контекст, в котором должна выполняться эта команда.

/P [пароль] — Пароль для этого пользовательского контекста.

/ID идентификатор] — Отключение всех открытых файлов по идентификатору. Допускается использование подстановочного символа «*».

/A пользователь — Отключение всех открытых файлов указанным в параметре пользователем. Допускается использование «*».

/O режим — Отключение всех открытых файлов, с указанным в параметре режимом. Допустимые значения параметра: Read,Write или Read/Write. Допускается использование подстановочного знака»*».

/OP открытый файл — Отключение всех файлов, открытых указанным в параметре файлом. Допускается использование подстановочного символа «*».

/? — Вывод справки по использованию.

OPENFILES /Disconnect /ID 1 — сбросить подключение к файлу или папке с идентификатором 1

OPENFILES /Disconnect /A user1 — сбросить подключения, созданные пользователем user1 .

OPENFILES /Disconnect /O Read/Write — сбросить подключения, имеющие режим «Чтение\Запись»

OPENFILES /Disconnect /S SERVER /U user1 /P pass1 /ID * — выполнить сброс всех сессий ( /ID * ) на удаленном компьютере с именем SERVER . При подключении к удаленному компьютеру используется имя пользователя user1 и пароль pass1 .

Openfiles — какие файлы открыты в Windows

Время от времени некоторые файлы имеют свойство блокироваться различными приложениями, работающими в системе. Многие из нас сталкивались с подобной ситуацией, и нам не терпелось взглянуть получить ответ, взглянуть на то, какие же именно процессы блокируют так нас интересующие ресурсы. Да и попросту посмотреть на то, какие же файлы открыты в данный момент в системе. Работать с дескрипторами файлов в системе имеют возможность практически все без исключения процессы, являющиеся как частью ядра системы, так и частью пользовательского режима. Согласитесь, что сама по себе информация об открытых в системе файла была бы весьма неполной без возможности узнать имя виновного процесса, использующего интересующий нас файл. Начиная с Windows XP Microsoft предоставила в распоряжение пользователей довольно удобное средство по работе с информацией об открытых в системе файлах — это системная утилита openfiles. Утилита openfiles является консольной, то есть позволяет получить на консоль информацию об открытых в данный момент файлах. Вероятно, многим будет удобнее использовать различные утилиты сторонних разработчиков с графическим интерфейсом, как более наглядное и удобное средство анализа, однако преимущество openfiles заключается в возможности использования её вывода в скриптах автоматизации различного назначения. Исполняемый файл утилиты располагается в системной директории %SystemRoot%\System32 . Помимо списка файлов, открытых локальными процессами, утилита позволяет вывести список файлов, открытых с использованием удаленного доступа. Для работы с утилитой пользователю требуются права локального администратора, то есть вхождение в группу Администраторы на станции.

При попытке запуска от пользователя с ограниченными правами, мы получаем сообщение вида:

Утилита openfiles имеет три основных команды: local, disconnect и query, которые мы с Вами сейчас и рассмотрим подробнее.

Параметр /local

Включает/выключает глобальный системный флаг под названием «Построение списка объектов» (Maintain Objects List).

Если команда используется без указания параметров, то есть в виде openfiles /local , то в этом случае отображается текущий статус глобального системного флага «Построение списка объектов». Помните, что включение данного системного флага может отрицательно сказаться на быстродействии системы в целом, то есть, проще говоря — сделать её медленнее. Поэтому, рекомендуется включать флаг только на время диагностики.
Системные глобальные флаги Windows хранятся в системе в глобальной переменной NtGlobalFlags , и отвечают за включение различных отладочных, следящих и проверочных механизмов в операционной системе. Переменная NtGlobalFlags инициализируется на этапе загрузки системы на основе значения ключа GlobalFlag , расположенного в ветке реестра HKLM\SYSTEM\CurrentControlSet\Control\Session Manager . В комплекте Debugging Tools for Windows имеется средство под названием gflags.exe , которое представляет из себя конфигуратор глобальных флагов Windows с графическим интерфейсом, однако, что касается флага «Построение списка объектов», то есть Вы там не найдете, поскольку это флаг режима загрузки и значение его не может быть изменено утилитой.

openfiles /local [on | off]

Параметр Описание
[on | off] Включает или выключается системный глобальный флаг «Maintain Objects List», который отслеживает локальные файловые дескрипторы.
/? Выводит подсказку по синтаксису опций, используемых в команде /local.

Для получения текущего состояния системного флага:

Например в ситуации, когда флаг включен, вы увидите следующий вывод:

OpenedFilesView — бесплатный инструмент для просмотра открытых в Windows файлов и управления ими

Встроенный Диспетчер задач Windows показывает не только процессы, но и открытые этими процессами файлы. Однако, общая картина всё равно остается неполной. Если вам нужно больше информации обо всех открытых и используемых процессами файлах, воспользуйтесь утилитой OpenedFilesView от известного разработчика NirSoft . Этот небольшой бесплатный инструмент предназначается для просмотра открытых в Windows файлов и получения о них детальной информации, которая может быть использована при анализе различных ошибок.

Будучи запущенной, утилита сканирует систему на предмет открытых в данный момент файлов, в том числе временных, и выводит их список. Помимо имени и полного пути к файлу, OpenedFilesView показывает его дескриптор, права на чтение/запись, дату и время создания и модификации, размер, атрибуты, родительский процесс, расширение и некоторые другие более специфические сведения.

Программой поддерживается показ файлов, открытых конкретным приложением, закрытие дескрипторов файлов и их процессов: все эти опции доступны из контекстного меню утилиты. Кликнув правой кнопкой мыши по выбранному файлу в списке, вы можете закрыть его дескриптор, а если файл заблокирован, скопировать его в отдельную папку. Доступны также опции мягкого и жесткого завершения процессов, а также переноса окон процессов на передний план.

Остальные опции служат либо для настройки внешнего вида и поведения самой утилиты, либо для настройки отображения файлов в Проводнике, кстати, утилита может быть интегрирована в последний для более удобной работы с файлами. Среди второстепенных функций доступны показ и скрытие системных объектов, файлов, открытых системным процессом Svchost , выбор кодировки, экспорт списка файлов в HTML -отчет.

Скачать этот полезный инструмент администрирования можно с официального сайта:

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

Читайте также:  Windows загрузки убрать группировку
Оцените статью