必须手动清除服务器端smb会话、删除~$临时文件、重置文件属性及权限,并用powershell强制关闭smb打开文件句柄,才能解除excel共享锁定。

你在共享服务器上打开Excel文件时,突然弹出“被另一用户锁定编辑”,而对方已离线、无法联系,或根本就是你自己上次异常退出留下的残留锁——这种情况下必须快速释放文件句柄,否则整条业务流程卡死。
确认并终止服务器端残留会话
Windows Server共享环境下,文件锁定本质是SMB协议维持的“打开文件会话”。该会话不会因客户端崩溃自动释放,需管理员手动清除。
在文件所在服务器上,以管理员身份打开“计算机管理”→“系统工具”→“共享文件夹”→“会话”。
找到与该Excel文件路径匹配的会话行,右键选择“关闭会话”。【注意:此操作会强制断开当前所有关联该文件的网络连接,若有人正在编辑且未保存,将丢失未提交更改】
刷新会话列表,确认对应条目已消失。
删除服务器侧的隐藏锁定文件
Excel在共享目录中编辑时,会在同一文件夹下生成形如 ~$文件名.xlsx 的临时锁定文件。该文件由创建者独占持有,即使Excel已关闭也不会自动删除——尤其当进程异常退出时。
进入共享文件夹所在服务器的物理路径,启用“显示隐藏文件”和“显示受保护的操作系统文件”。
查找并永久删除所有以 ~$ 开头、扩展名与目标Excel文件一致的文件(例如 ~$销售报表.xlsx)。
这一步必须在服务器本地执行,通过映射网络驱动器或远程桌面操作;仅在客户端删除无效,因为锁定文件实际驻留在服务器磁盘上。
重置文件权限与属性
方法一:解除只读属性
右键共享文件夹中的Excel文件→“属性”→取消勾选“只读”→点击“应用”。若提示“需管理员权限”,点击“继续”。
方法二:重置NTFS权限继承
在文件属性中切换到“安全”选项卡→点击“高级”→勾选“用此文件夹的权限替换子文件夹和文件的权限”→点击“确定”。【此操作将覆盖所有子级权限设置,请确保你拥有该共享文件夹的完全控制权】
方法三:检查文件是否被标记为“最终版本”
在服务器上用Microsoft 365桌面版Excel双击打开该文件(非网页版)→“文件”→“信息”→查看右侧是否有“标记为最终版本”按钮。若有,点击它解除保护状态。
强制回收文件句柄(PowerShell脚本)
第一步:以管理员身份运行PowerShell。
第二步:执行以下命令,精准定位并释放被占用的Excel文件句柄:
Get-SmbOpenFile | Where-Object {$_.Path -like "*\你的文件名.xlsx"} | Close-SmbOpenFile -Force
第三步:逐条核对输出结果,确认返回“Status: Closed”且无报错。
第四步:立即尝试在客户端重新打开该文件。若仍失败,说明存在嵌套锁定——回到第一步,检查是否存在多个匹配的SmbOpenFile条目,全部执行Close-SmbOpenFile。











