我正在尝试检查是否在使用PowerShell的服务器上打开了任何文件。 我有以下脚本哪种工作
如果我在没有打开文件时启动它,则首先检查,等待10秒,然后打印消息“没有打开文件”。如果我打开任何文件并启动脚本,它会显示“文件已打开,请稍候......”但是当我关闭所有文件并断开所有会话时,它仍然会显示相同的
Clear-Host
$CheckOpenfiles = Get-SmbOpenFile
Do
{
"$(get-date) Files are opened, please wait..."
Start-Sleep 10
} Until (!$CheckOpenfiles)
"No files are opened"
答案 0 :(得分:1)
正如LotPings在评论中注明的那样,在开始循环之前,您将值分配给$CheckOpenfiles
。这意味着它不会在您的直接条件中重新评估。
Do {
"$(get-date) Files are opened, please wait..."
Start-Sleep 10
} Until (!(Get-SmbOpenFile))
"No files are opened"