我正在尝试通过 PowerShell 脚本关闭服务器共享文件夹中所有打开的文件。我发现以下脚本只能关闭一个驱动器 (F:) 上的文件,但是,该服务器有 3 个驱动器 (F:\、G:\、H:),我想全部关闭。
net files |
where { $_.Contains( "F:\" ) } |
foreach { $_.Split( ' ' )[0] } |
foreach { net file $_ /close }
有没有办法将丢失的驱动器添加到这个脚本中,或者我必须对每个驱动器分别使用相同的脚本?
我试过了{ $_.Contains( "F:\", "G:\", "H:\" ) }
,但没有成功
感谢您的帮助!
答案1
您使用的命令不是原生的 PowerShell 命令。但是,PowerShell 确实带有许多用于控制 SMB 连接和共享的功能。
您正在寻找的可能是这样的:
Get-SMBOpenFile | Close-SMBOpenFile -Force
这将关闭通过文件共享打开的所有文件。您还可以管理 SMB 连接 (Get-SMBConnection) 和其他内容。Get-Command *smb*
您将获得所有 SMB 相关命令的列表。