【问题标题】:PowerShell window preventing shutdown阻止关机的 PowerShell 窗口
【发布时间】:2012-04-16 12:28:52
【问题描述】:

如果我有一个 PowerShell 窗口(在 PowerShell 命令提示符处)显示,它会阻止计算机关闭。

即如果我打开一个 PowerShell 窗口然后尝试关闭服务器,我会弹出 End Program 弹出窗口,提示 Windows 无法结束该程序。

如果我从开始菜单、cmd 提示符和指定了 -NoExit 的快捷方式启动 PowerShell,我会得到相同的结果。

如何像关闭 CMD 窗口一样自动关闭 PowerShell 窗口(如果它在 PowerShell 提示符下)?

或者,PowerShell 是否可以检测到何时启动关闭并因此自行关闭?

【问题讨论】:

    标签: powershell windows-server-2003 shutdown


    【解决方案1】:

    这个问题是在Server Fault上回答的,所以这里是我的解决方案测试代码:

    Write-Host "PowerShellBlockingShutdown.ps1 Started"
    
    $global:shuttingDown = $false
    $sysevent = [microsoft.win32.systemevents]
    Register-ObjectEvent -InputObject $sysevent -EventName "SessionEnding" -Action {$global:shuttingDown = $true; Write-Host "  SessionEnding"}
    Register-ObjectEvent -InputObject $sysevent -EventName "SessionEnded"  -Action {$global:shuttingDown = $true; Write-Host "  SessionEnded"}
    
    do {
        Start-Sleep -Seconds 3
        if ($global:shuttingDown) {break}
        Write-Host "  Waiting for Shutdown"
    } while ($true)
    
    Write-Host "PowerShellBlockingShutdown.ps1 Finished"
    

    这似乎有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-01
      • 2020-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-05
      • 2020-05-04
      相关资源
      最近更新 更多