在PowerShell中执行,等待直到再次执行

时间:2019-02-26 05:48:43

标签: powershell

我正在PowerShell中编写脚本。该脚本将获取列值为“ 0”的SQL表。脚本将发出声音警报,并在有限的时间内每次找到值“ 0”的列时弹出。如果用户在时间到期之前关闭弹出窗口,则声音警报将停止。

但是,如果SQL列值在时间到期之前从“ 0”变回“ 1”,我也想停止警报。

该脚本还应继续检查是否在SQL表中插入了列值为'0'的任何新行。

  1. 列值0找到,播放声音并显示弹出窗口,x秒。
  2. 如果弹出窗口在x秒之前关闭,请停止播放声音。
  3. 继续检查列值为'0'的新行

我已经完成了第一部分。

其余的,如何在PowerShell中实现呢?

问题是我无法从工作PC发送代码。所以这是简短的版本:

$exchanges = Invoke-Sqlcmd -Query "SELECT * FROM #table"

while ($true) {
    foreach ($exchange in ($exchanges | Where-Object status -eq '0')) {
        $outputWindow = Start-Process powershell "-noexit -command cls;Write-host "Error"" -PassThru
        [Console]::Beep(3000, 500)
        $outputWindow.WaitForExit(10000)
        $outputWindow.Kill()
    }
}

0 个答案:

没有答案
相关问题