- openfiles
- openfiles /disconnect
- Syntax
- Parameters
- Examples
- openfiles /query
- Syntax
- Parameters
- Examples
- openfiles /local
- Syntax
- Parameters
- Examples
- How to View and Close Open Files in Windows Server SMB Share?
- View Open Files on a Shared Network Folder on Windows Server
- How to Find Out Who is Locking a File in a Shared Folder?
- How to Forcibly Close an Open File on a SMB Share?
- Get-SMBOpenFile: Find and Close Open File Handlers Using PowerShell
- How to Close Open Files on Remote Computer Using PowerShell?
- openfiles openfiles
- Openfiles/Disconnect openfiles /disconnect
- Синтаксис Syntax
- Параметры Parameters
- Примеры Examples
- Openfiles/Query openfiles /query
- Синтаксис Syntax
- Параметры Parameters
- Примеры Examples
- Openfiles/Local openfiles /local
- Синтаксис Syntax
- Параметры Parameters
- Примеры Examples
openfiles
Enables an administrator to query, display, or disconnect files and directories that have been opened on a system. This command also enables or disables the system Maintain Objects List global flag.
openfiles /disconnect
Enables an administrator to disconnect files and folders that have been opened remotely through a shared folder.
Syntax
Parameters
Parameter | Description |
---|---|
/s | Specifies the remote system to connect to (by name or IP address). Don’t use backslashes. 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 [ \] | Runs the command using the permissions of the specified user account. If you don’t use the /u option, system permissions are used by default. |
/p [ |
]
Note: You can use the openfiles /query command to find the file ID.
Examples
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
Queries and displays all open files.
Syntax
Parameters
Parameter | Description |
---|---|
/s | Specifies the remote system to connect to (by name or IP address). Don’t use backslashes. 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 [ \] | Runs the command using the permissions of the specified user account. 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. Valid only when the /fo parameter is set to TABLE or CSV. |
/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. 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
Enables or disables the system Maintain Objects List global flag. 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] | 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:
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:
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:
How to View and Close Open Files in Windows Server SMB Share?
Windows file server administrators often have to force close the shared files that are open simultaneously by multiple users. This usually happens if the desktop software doesn’t work as expected, the user logs off incorrectly, or when the user opened a file and forgot to close it (went home, on vacation, etc.). In all these cases, the file on the shared network folder is still open (and locked) and cannot be modified by other users. Other users can see such a message when trying to open a locked file (depending on the application used): The document filename is locked for editing by another user. To open a read-only copy of his document, click…
In this article we’ll show you how to get the list of open files on a Windows file server, find out which user locked a file on a shared folder, and how to close (reset) file sessions to unlock open files.
View Open Files on a Shared Network Folder on Windows Server
You can get the list of files opened by users on Windows file server using the built-in Computer Management ( compmgmt.msc ) graphic snap-in.
Open the Computer Management console on your file server (or connect to the server remotely from the management console running on your computer) and go to System Tools -> Shared Folders -> Open files. A list of open files on current SMB server is displayed on the right side of the window. The list contains the local path to the file, the name of the user account that opens the file, the number of locks and the mode in which the file is opened (Read or Write+Read).
You can get the same list of open files using the built-in openfiles.exe console tool. For example, using the following command you can get the Session ID, username and full local path to the open file:
openfiles /Query /fo csv |more
You can display a list of open files on a remote server. For example, you need to list all open files in shared folders on the lon-fs01 host:
openfiles /Query /s lon-fs01 /fo csv
How to Find Out Who is Locking a File in a Shared Folder?
To identify the user who opened (locked) the filename.docx file on the shared network folder on the remote server lon-fs01, run this command:
openfiles /Query /s lon-fs01 /fo csv | find /i «filename.docx»
You can specify only a part of the file name. For example, you need to find out who opened an XLSX file containing “sale_report” in its name. Use the following pipe:
openfiles /Query /s lon-fs01 /fo csv | find /i «sale_report»| find /i «xlsx»
Of course you can find this file in the Computer Management GUI, but it’s less convenient (this console doesn’t provide search feature).
How to Forcibly Close an Open File on a SMB Share?
To close an open file, find it in the list of files in Open File section and select Close Open File in the context menu.
If there are hundreds of open files on your file server, it won’t be easy to find the specific file in the console. It is more convenient to use the Openfiles command line tool. As we have already told, it returns the session ID of the open file. Using this session ID you can force close the file by resetting the SMB connection.
First, you need to find the session ID of the open file:
openfiles /Query /s lon-fs01 /fo csv | find /i «farm»| find /i «.xlsx»
Disconnect the user from file using the received SMB session ID:
openfiles /Disconnect /s lon-fs01 /ID 617909089
You can forcefully reset all sessions and unlock all files opened by a specific user:
openfiles /disconnect /s lon-fs01/u corp\mjenny /id *
Get-SMBOpenFile: Find and Close Open File Handlers Using PowerShell
New cmdlets to manage shares and files on an SMB server appeared in PowerShell version for Windows Server 2012/Windows 8. These cmdlets can be used to remotely close network connections to an open file.
You can get a list of open files using the Get-SMBOpenFile cmdlet. Close-SmbOpenFile is used to close/reset the connection to a remote file.
To display a list of open files on the Windows SMB server, run the command:
The command returns the file ID, session ID and full file name(path).
You can display a list of open files with user and computer names (IP addresses):
You can list all files opened by a specific user:
Get-SMBOpenFile –ClientUserName «corp\mjenny»|select ClientComputerName,Path
or from a specific computer/server:
Get-SMBOpenFile –ClientComputerName 192.168.1.190| select ClientUserName,Path
You can display a list of open files by pattern. For example, to list all exe files opened from the shared folder:
or open files with a specific name:
The Close-SmbOpenFile cmdlet is used to close the open file handler. You can close the file by ID:
Close-SmbOpenFile -FileId 4123426323239
But it is usually more convenient to close the file by name:
Get-SmbOpenFile | where <$_.Path –like "*annual2020.xlsx">| Close-SmbOpenFile -Force
With the Out-GridView cmdlet, you can make a simple GUI form for finding and closing open files. The following script will list open files. You should use the built-in filters in the Out-GridView table to find open files for which you want to reset the SMB sessions. Then you need to select the required files and click OK. As a result, the selected files will be forcibly closed.
Get-SmbOpenFile|select ClientUserName,ClientComputerName,Path,SessionID| Out-GridView -PassThru –title “Select Open Files”|Close-SmbOpenFile -Confirm:$false -Verbose
How to Close Open Files on Remote Computer Using PowerShell?
The Get-SMBOpenFile and Close-SmbOpenFile cmdlets can be used to remotely find and close open (locked) files. First, you need to connect to a remote Windows SMB server via a CIM session:
$sessn = New-CIMSession –Computername lon-fs01
The following command will find the SMB session for the open file pubs.docx and close the file session.
Get-SMBOpenFile -CIMSession $sessn | where <$_.Path –like "*pubs.docx">| Close-SMBOpenFile -CIMSession $sessn
Confirm closing of the file by pressing Y . As a result, you have unlocked the file. Now other users can open it.
With PowerShell, you can close SMB sessions and unlock all files that a specific user has opened (a user went home and didn’t release the open files). For example, to reset all file sessions of the user mjenny, run this command:
Get-SMBOpenFile -CIMSession $sessn | where <$_.ClientUserName –like "*mjenny*">|Close-SMBOpenFile -CIMSession $sessn
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
Параметр 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 [ |
]
Примечание. для поиска идентификатора файла можно использовать команду openfiles/Query . Note: You can use the openfiles /query command to find the file ID.
Примеры 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: