- Команда OPENFILES — управление открытыми по сети или локально файлами.
- Примеры получения списка открытых файлов
- Принудительное отключение сеансов удаленного открытия файлов
- Openfiles — какие файлы открыты в Windows
- Параметр /local
- openfiles openfiles
- Openfiles/Disconnect openfiles /disconnect
- Синтаксис Syntax
- Параметры Parameters
- Примеры Examples
- Openfiles/Query openfiles /query
- Синтаксис Syntax
- Параметры Parameters
- Примеры Examples
- Openfiles/Local openfiles /local
- Синтаксис Syntax
- Параметры Parameters
- Примеры Examples
Команда 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 можно не указывать.
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 :
Пример таблицы открытых файлов, при выключенном переключателе построения списка локальных объектов ( параметр /Local OFF ) : Информация: Флаг «построение списка объектов» должен быть включенным, чтобы видеть открытые локально файлы. Подробнее смотрите Openfiles /?.
В случае расширенного отображения данных ( параметр /V ), в таблицу добавляются колонки с именем узла, количеством блокировок при совместном использовании одного и того же файла разными пользователями ( #Locks ) и режим открытия (Чтение, Запись, Запись\Чтение):
Принудительное отключение сеансов удаленного открытия файловДля отключения файлов и папок, которые были удаленно открыты на общем ресурсе, используется параметр /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 , то в этом случае отображается текущий статус глобального системного флага «Построение списка объектов». Помните, что включение данного системного флага может отрицательно сказаться на быстродействии системы в целом, то есть, проще говоря — сделать её медленнее. Поэтому, рекомендуется включать флаг только на время диагностики. openfiles /local [on | off]
Для получения текущего состояния системного флага: Например в ситуации, когда флаг включен, вы увидите следующий вывод: openfiles openfilesПозволяет администратору запрашивать, отображать или отключать файлы и каталоги, открытые в системе. Enables an administrator to query, display, or disconnect files and directories that have been opened on a system. Эта команда также включает или отключает глобальный флаг System обслуживание списка объектов . This command also enables or disables the system Maintain Objects List global flag. Openfiles/Disconnect openfiles /disconnectПозволяет администратору отключить файлы и папки, открытые удаленно через общую папку. Enables an administrator to disconnect files and folders that have been opened remotely through a shared folder. Синтаксис SyntaxПараметры Parameters
] | Указывает пароль учетной записи пользователя, указанной в параметре /u . Specifies the password of the user account that is specified in the /u option. Если вы не используете параметр /p , при выполнении команды появится запрос на ввод пароля. If you don’t use the /p option, a password prompt appears when the command is run. | |||||||||||||||||||||||||||||
/ID /id | Отключает открытые файлы по указанному ИДЕНТИФИКАТОРу файла. Disconnects open files by the specified file ID. С этим параметром можно использовать подстановочный знак (*). You can use the wildcard character (*) with this parameter. Примечание. для поиска идентификатора файла можно использовать команду openfiles/Query . Note: You can use the openfiles /query command to find the file ID. | |||||||||||||||||||||||||||||||
/ /a | Отключает все открытые файлы, связанные с именем пользователя, указанным в параметре акцесседби . Disconnects all open files associated with the user name specified in the accessedby parameter. С этим параметром можно использовать подстановочный знак (*). You can use the wildcard character (*) with this parameter. | |||||||||||||||||||||||||||||||
/o | Отключает все открытые файлы с указанным значением в открытом режиме. Disconnects all open files with the specified open mode value. Допустимые значения: Чтение, запись, чтение и запись. Valid values are Read, Write, or Read/Write. С этим параметром можно использовать подстановочный знак (*). You can use the wildcard character (*) with this parameter. | |||||||||||||||||||||||||||||||
/Op /op | Отключает все соединения открытых файлов, созданные с помощью определенного имени открытого файла. Disconnects all open file connections that are created by a specific open file name. С этим параметром можно использовать подстановочный знак (*). You can use the wildcard character (*) with this parameter. | |||||||||||||||||||||||||||||||
/? /? | Отображение справки в командной строке. Displays help at the command prompt. |
Примеры Examples
Чтобы отключить все открытые файлы с помощью идентификатора файла 26843578, введите: To disconnect all open files with the file ID 26843578, type:
Чтобы отключить все открытые файлы и каталоги, к которым обращается пользователь хироплн, введите: To disconnect all open files and directories accessed by the user hiropln, type:
Чтобы отключить все открытые файлы и каталоги с режимом чтения и записи, введите: To disconnect all open files and directories with read/write mode, type:
Чтобы отключить каталог с открытым именем файла * К:\тестшаре * , независимо от того, кто обращается к нему, введите: To disconnect the directory with the open file name *C:\testshare*, regardless of who is accessing it, type:
Чтобы отключить все открытые файлы на удаленном компьютере срвмаин , к которым обращается пользовательская хироплн, независимо от их идентификатора, введите: To disconnect all open files on the remote computer srvmain that are being accessed by the user hiropln, regardless of their ID, type:
Openfiles/Query openfiles /query
Запрашивает и отображает все открытые файлы. Queries and displays all open files.
Синтаксис Syntax
Параметры Parameters
Параметр Parameter | Описание Description |
---|---|
ключ /s | Указывает удаленную систему для подключения (по имени или IP-адресу). Specifies the remote system to connect to (by name or IP address). Не используйте обратные косые черты. Don’t use backslashes. Если параметр /s не используется, команда по умолчанию выполняется на локальном компьютере. If you don’t use the /s option, the command is run on the local computer by default. Этот параметр применяется ко всем файлам и папкам, указанным в команде. This parameter applies to all files and folders that are specified in the command. |
/u [ \] /u [ \] | Выполняет команду, используя разрешения указанной учетной записи пользователя. Runs the command using the permissions of the specified user account. Если параметр /u не используется, по умолчанию используются разрешения системы. If you don’t use the /u option, system permissions are used by default. |
/p [ |
]
Отображает выходные данные в указанном формате. Displays the output in the specified format. Допустимые значения: Valid values include:
| |
использован /nh | Подавляет вывод заголовков столбцов в выходных данных. Suppresses column headers in the output. Допустим, только если параметр /FO имеет значение Table или CSV. Valid only when the /fo parameter is set to TABLE or CSV. |
/v /v | Указывает, что в выходных данных отображаются подробные (подробные) сведения. Specifies that detailed (verbose) information be displayed in the output. |
/? /? | Отображение справки в командной строке. Displays help at the command prompt. |
Примеры Examples
Чтобы запросить и отобразить все открытые файлы, введите: To query and display all open files, type:
Чтобы запросить и отобразить все открытые файлы в формате таблицы без заголовков, введите: To query and display all open files in table format without headers, type:
Чтобы запросить и отобразить все открытые файлы в формате списка с подробными сведениями, введите: To query and display all open files in list format with detailed information, type:
Чтобы запросить и отобразить все открытые файлы в удаленной системе срвмаин , используя учетные данные пользователя хироплн в домене маиндом , введите: To query and display all open files on the remote system srvmain by using the credentials for the user hiropln on the maindom domain, type:
В этом примере пароль указан в командной строке. In this example, the password is supplied on the command line. Чтобы запретить отображение пароля, оставьте параметр /p . To prevent displaying the password, leave out the /p option. Вам будет предложено ввести пароль, который не будет отображаться на экране. You’ll be prompted for the password, which won’t be echoed to the screen.
Openfiles/Local openfiles /local
Включает или отключает глобальный флаг System обслуживании списка объектов . Enables or disables the system Maintain Objects List global flag. Если используется без параметров, то openfiles/Local отображает текущее состояние флага » сохранить глобальный список объектов «. If used without parameters, openfiles /local displays the current status of the Maintain Objects List global flag.
Изменения, внесенные с помощью параметра вкл . или выкл ., вступают в силу только после перезагрузки системы. Changes made by using the on or off option don’t take effect until you restart the system. Включение глобального флага » Ведение списка объектов » может замедлить работу системы. Enabling the Maintain Objects List global flag might slow down your system.
Синтаксис Syntax
Параметры Parameters
Параметр Parameter | Описание Description |
---|---|
[on | off] | Включает или отключает глобальный флаг System обслуживание списка объектов , который отслеживает дескрипторы локальных файлов. Enables or disables the system Maintain Objects List global flag, which tracks local file handles. |
/? /? | Отображение справки в командной строке. Displays help at the command prompt. |
Примеры Examples
Чтобы проверить текущее состояние глобального флага » сохранить список объектов «, введите: To check the current status of the Maintain Objects List global flag, type:
По умолчанию глобальный флаг « Ведение списка объектов » отключен, и появляется следующее сообщение: INFO: The system global flag ‘maintain objects list’ is currently disabled. By default, the Maintain Objects List global flag is disabled, and the following message appears, INFO: The system global flag ‘maintain objects list’ is currently disabled.
Чтобы включить глобальный флаг » Ведение списка объектов «, введите: To enable the Maintain Objects List global flag, type:
При включении глобального флага появляется следующее сообщение: SUCCESS: The system global flag ‘maintain objects list’ is enabled. This will take effect after the system is restarted. The following message appears when the global flag is enabled, SUCCESS: The system global flag ‘maintain objects list’ is enabled. This will take effect after the system is restarted.
Чтобы отключить глобальный флаг » Ведение списка объектов «, введите: To disable the Maintain Objects List global flag, type: