[玩转系统] 如何查看和关闭Windows Server SMB共享中打开的文件?
作者:精品下载站 日期:2024-12-14 20:14:01 浏览:14 分类:玩电脑
如何查看和关闭Windows Server SMB共享中打开的文件?
Windows 文件服务器管理员通常必须强制关闭多个用户同时打开的共享文件。如果桌面软件未按预期工作、用户错误注销或用户打开文件但忘记关闭它(回家、度假等),通常会发生这种情况。在所有这些情况下,共享网络文件夹上的文件仍然处于打开状态(并锁定),并且其他用户无法修改。其他用户在尝试打开锁定文件时可能会看到这样的消息(取决于所使用的应用程序):
The document filename is locked for editing by another user. To open a read-only copy of his document, click…
在本文中,我们将向您展示如何获取 Windows 文件服务器上打开的文件列表,找出哪个用户锁定了共享文件夹上的文件,以及如何关闭(重置)文件会话以解锁打开的文件。
查看 Windows Server 上共享网络文件夹上的打开文件
您可以使用内置的计算机管理获取Windows文件服务器上用户打开的文件列表(
compmgmt.msc
) 图形管理单元。
打开文件服务器上的计算机管理控制台(或从计算机上运行的管理控制台远程连接到服务器),然后转到系统工具-> 共享文件夹-> 打开文件。 窗口右侧显示当前 SMB 服务器上打开的文件列表。该列表包含文件的本地路径、打开文件的用户帐户名称、锁定数量以及打开文件的模式(读取或写入+读取)。
您可以使用内置的打开文件的相同列表
openfiles.exe
控制台工具。例如,使用以下命令,您可以获得会话 ID、用户名和打开文件的完整本地路径:
openfiles /Query /fo csv |more
当用户远程访问服务器上共享网络文件夹中的文件夹或文件时,将创建一个新的 SMB 会话。您可以使用这些会话 ID 管理打开的文件。
您可以显示远程服务器上打开的文件的列表。例如,您需要列出 lon-fs01 主机上共享文件夹中所有打开的文件:
openfiles /Query /s lon-fs01 /fo csv
这
openfiles
命令还允许您查看本地打开的文件列表。要使用它,请使用以下命令启用“维护对象列表”选项:
openfiles /local on
,然后重新启动您的服务器。之后,
openfiles
命令将显示本地进程打开的文件(建议仅出于调试目的使用此模式,因为它会对服务器性能产生负面影响)。
如何找出谁锁定了共享文件夹中的文件?
要识别打开(锁定)远程服务器 lon-fs01 上共享网络文件夹上的 filename.docx 文件的用户,请运行以下命令:
openfiles /Query /s lon-fs01 /fo csv | find /i "filename.docx"
这
/i
key 用于执行不区分大小写的文件搜索。
您只能指定文件名的一部分。例如,您需要找出谁打开了名称中包含“sale_report”的 XLSX 文件。使用以下管道:
openfiles /Query /s lon-fs01 /fo csv | find /i "sale_report"| find /i "xlsx"
当然你可以在计算机管理GUI中找到这个文件,但是不太方便(这个控制台不提供搜索功能)。
如何强制关闭SMB共享上打开的文件?
要关闭打开的文件,请在打开文件部分的文件列表中找到它,然后在上下文菜单中选择关闭打开文件。
如果您的文件服务器上有数百个打开的文件,那么在控制台中找到特定文件并不容易。使用Openfiles命令行工具更方便。正如我们已经说过的,它返回打开文件的会话 ID。使用此会话 ID,您可以通过重置 SMB 连接来强制关闭文件。
首先,您需要找到打开文件的会话 ID:
openfiles /Query /s lon-fs01 /fo csv | find /i "farm"| find /i ".xlsx"
使用收到的 SMB 会话 ID 断开用户与文件的连接:
openfiles /Disconnect /s lon-fs01 /ID 617909089
您可以强制重置所有会话并解锁特定用户打开的所有文件:
openfiles /disconnect /s lon-fs01/u corp\mjenny /id *
注意。强制关闭客户端在 SMB 服务器上打开的文件可能会导致未保存的数据丢失。因此,使用
openfiles /disconnect
命令或
Close-SMBOpenFile
cmdlet(下面讨论)非常仔细。
Get-SMBOpenFile:使用 PowerShell 查找并关闭打开的文件处理程序
用于管理 SMB 服务器上的共享和文件的新 cmdlet 出现在 Windows Server 2012/Windows 8 的 PowerShell 版本中。这些 cmdlet 可用于远程关闭与打开文件的网络连接。
您可以使用 Get-SMBOpenFile cmdlet 获取打开文件的列表。 Close-SmbOpenFile 用于关闭/重置与远程文件的连接。
要显示 Windows SMB 服务器上打开的文件列表,请运行以下命令:
Get-SMBOpenFile
该命令返回文件 ID、会话 ID 和完整文件名(路径)。
您可以显示带有用户名和计算机名(IP 地址)的打开文件列表:
Get-SmbOpenFile|select ClientUserName,ClientComputerName,Path,SessionID
您可以列出特定用户打开的所有文件:
Get-SMBOpenFile -ClientUserName "corp\mjenny"|select ClientComputerName,Path
或从特定计算机/服务器:
Get-SMBOpenFile -ClientComputerName 192.168.1.190| select ClientUserName,Path
您可以按模式显示打开文件的列表。例如,要列出从共享文件夹打开的所有 exe 文件:
Get-SmbOpenFile | Where-Object {$_.Path -Like "*.exe*"}
或打开具有特定名称的文件:
Get-SmbOpenFile | Where-Object {$_.Path -Like "*reports*"}
Close-SmbOpenFile cmdlet 用于关闭打开的文件处理程序。您可以通过 ID 关闭文件:
Close-SmbOpenFile -FileId 4123426323239
但通常按名称关闭文件会更方便:
Get-SmbOpenFile | where {$_.Path -like "*annual2020.xlsx"} | Close-SmbOpenFile -Force
随着
Out-GridView
cmdlet,您可以制作一个简单的 GUI 表单来查找和关闭打开的文件。以下脚本将列出打开的文件。您应该使用 Out-GridView 表中的内置筛选器来查找要为其重置 SMB 会话的打开文件。然后您需要选择所需的文件并单击“确定”。结果,所选文件将被强制关闭。
Get-SmbOpenFile|select ClientUserName,ClientComputerName,Path,SessionID| Out-GridView -PassThru -title “Select Open Files”|Close-SmbOpenFile -Confirm:$false -Verbose
如何使用 PowerShell 关闭远程计算机上打开的文件?
这
Get-SMBOpenFile
和
Close-SmbOpenFile
cmdlet 可用于远程查找和关闭打开(锁定)的文件。首先,您需要通过 CIM 会话连接到远程 Windows SMB 服务器:
$sessn = New-CIMSession -Computername lon-fs01
您还可以使用 PSRemoting cmdlet 连接到远程服务器以运行 PowerShell 命令:
Enter-PSSession
或者
Invoke-Command
。
以下命令将查找打开文件 pubs.docx 的 SMB 会话并关闭该文件会话。
Get-SMBOpenFile -CIMSession $sessn | where {$_.Path -like "*pubs.docx"} | Close-SMBOpenFile -CIMSession $sessn
按确认关闭文件
Y
。结果,您已解锁该文件。现在其他用户可以打开它。
要删除 SMB 服务器上强制关闭文件的确认,请使用
-Force
钥匙。
使用 PowerShell,您可以关闭 SMB 会话并解锁特定用户已打开的所有文件(用户回家后未释放打开的文件)。例如,要重置用户 mjenny 的所有文件会话,请运行以下命令:
Get-SMBOpenFile -CIMSession $sessn | where {$_.ClientUserName -like "*mjenny*"}|Close-SMBOpenFile -CIMSession $sessn
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag