加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-server-2008 – 使用Powershell和Openfiles关闭Windows

发布时间:2020-12-13 23:01:23 所属栏目:Windows 来源:网络整理
导读:我使用了很多文件夹共享,但有一些锁定文件已被其他进程打开. 我需要关闭这些文件.到目前为止,我一直在使用MMC – 系统工具 – 共享文件夹 – 打开文件. 如果我可以使用PowerShell过滤OpenFiles.exe检索到的列表/表,并且一旦我得到文件ID用net file / close关
我使用了很多文件夹共享,但有一些锁定文件已被其他进程打开.

我需要关闭这些文件.到目前为止,我一直在使用MMC – 系统工具 – 共享文件夹 – 打开文件.

如果我可以使用PowerShell过滤OpenFiles.exe检索到的列表/表,并且一旦我得到文件ID用net file / close关闭它,或者其他一些PS本地意味着类似的效果,那将会更方便.

我是PowerShell的新手,所以我想知道是否有办法创建一个接收文件路径的PS脚本,然后使用文件ID关闭该文件?

Get-SmbOpenFile和Close-SmbOpenFile将为您完成工作.

登录到您的文件服务器,启动PowerShell.使用Get-SmbOpenFile显示文件服务器上的所有打开文件.这些文件将与以下表格标题一起显示

FileId                  SessionId               Path           ShareRelativePath      ClientComputerName     ClientUserName

使用Close-SmbOpenFile关闭文件.

Close-SmbOpenFile -FileId 4415226383589

如果您知道Excel文件是问题,则可以缩小搜索所有具有.XLSX扩展名的打开文件的范围.

Get-SmbOpenFile | Where-Object -Property sharerelativepath -match ".XLSX"

在结果中找到问题文件后,您可以通过fileID关闭该文件.

如果要关闭文件服务器上的所有打开文件:

Get-SmbOpenFile | Close-SmbOpenFile

如果要关闭一个或多个打开且与文件扩展名“.XLSX”匹配的文件.

Get-SmbOpenFile | Where-Object -Property sharerelativepath -match ".XLSX" | Close-SmbOpenFile -Force

****注****根据TechNet文章“Close-SMBOpenFile cmdlet强制关闭由服务器消息块(SMB)服务器的某个客户端打开的文件.应该小心使用此cmdlet,因为它如果客户端在文件关闭之前没有将所有文件修改刷回服务器,则可能导致数据丢失到文件被关闭的客户端.“

有关CMDlet的更多信息

GET-SmbOpenFile
https://technet.microsoft.com/en-us/library/jj635701(v=wps.620).aspx

特写SmbOpenFile
https://technet.microsoft.com/en-us/library/jj635721(v=wps.620).aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读