更改计算机状态

本示例仅适用于 Windows 平台。

若要在 PowerShell 中重置计算机,请使用标准命令行工具、WMI 或 CIM 类。 尽管你使用 PowerShell 仅仅是为了运行该工具,但了解如何在 PowerShell 中更改计算机的电源状态将阐明有关在 PowerShell 中使用外部工具的一些重要详细信息。

锁定计算机

使用标准可用工具直接锁定计算机的唯一方法是调用 user32.dll 中的 LockWorkstation() 函数:

PowerShell
rundll32.exe user32.dll,LockWorkStation

此命令将立即锁定工作站。 它使用 rundll32.exe 调用 user32.dll 中的 LockWorkStation 函数。

如果在启用了“快速用户切换”时锁定工作站(例如在 Windows XP 中),则计算机将显示用户登录屏幕,而不会启动当前用户的屏幕保护程序。

若要关闭终端服务器上的特定会话,请使用 tsshutdn.exe 命令行工具。

从当前会话退出登录

可以使用多种不同的方法来注销本地系统上的会话。 最简单的方法是使用远程桌面/终端服务命令行工具 logoff.exe(若要了解有关详细信息,请在 PowerShell 提示符处键入 logoff /?)。 若要注销当前活动会话,请键入 logoff 而不带参数。

你还可以使用具 shutdown.exe 工具及其 logoff 选项:

PowerShell
shutdown.exe -l

另一种方法是使用 WMI。 Win32_OperatingSystem 类具有 Shutdown 方法。 调用具有 0 标志的方法将启动注销:

有关详细信息,请参阅 Win32_OperatingSystem 类的 Shutdown 方法

PowerShell
Get-CimInstance -ClassName Win32_OperatingSystem | Invoke-CimMethod -MethodName Shutdown

关闭或重启计算机

关闭和重启计算机是类似的任务。 大多数命令行工具都支持这两种操作。 Windows 包含两个用于重启计算机的命令行工具。 使用 tsshutdn.exetsshutdn.exe 或 shutdown.exeshutdown.exe 及其相应参数。 你可以从 tsshutdn.exe /? 或 shutdown.exe /? 获取详细的使用信息。

也可以直接从 PowerShell 执行关闭和重启操作。

要关闭计算机,请使用 Stop-Computer 命令

PowerShell
Stop-Computer

要重启操作系统,请使用 Restart-Computer 命令

PowerShell
Restart-Computer

要强制立即重新启动计算机,请使用 -Force 参数。

PowerShell
Restart-Computer -Force