windows-server-2008 – 使用Powershell和Openfiles关闭Windows共享中的锁定文件

前端之家收集整理的这篇文章主要介绍了windows-server-2008 – 使用Powershell和Openfiles关闭Windows共享中的锁定文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用了很多文件夹共享,但有一些锁定文件已被其他进程打开.

我需要关闭这些文件.到目前为止,我一直在使用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

猜你在找的Windows相关文章