Powershell

關閉網路上的所有共享文件

  • October 29, 2018

我正在嘗試通過 PowerShell 腳本關閉伺服器共享文件夾中的所有打開文件。我發現以下腳本僅關閉一個驅動器 (F:) 上的文件,但是,該伺服器有 3 個驅動器 (F:\、G:\、H:),我想全部關閉它們。

net files | 
   where   { $_.Contains( "F:\" ) } |
   foreach { $_.Split( ' ' )[0] }   |
   foreach { net file $_ /close }

有沒有辦法將失去的驅動器添加到此腳本中,或者我必須為每個驅動器單獨使用相同的腳本?

我試過{ $_.Contains( "F:\", "G:\", "H:\" ) }但沒有用

感謝您的幫助!

您使用的命令不是本機 PowerShell 命令。但是,PowerShell 確實帶有許多功能來控制 SMB 連接和共享。

您正在尋找的可能是這樣的:

Get-SMBOpenFile | Close-SMBOpenFile -Force

這將關閉通過文件共享打開的所有文件。您還可以管理 SMB 連接 (Get-SMBConnection) 和其他東西。您將Get-Command *smb*獲得所有 SMB 相關命令的列表。

引用自:https://serverfault.com/questions/937710