若要在 Windows PowerShell 中重置计算机,请使用标准命令行工具或 WMI 类。虽然您只使用 Windows PowerShell 来运行特定工具,但通过了解如何在 Windows PowerShell 中更改计算机的电源状态,可以阐明有关在 Windows PowerShell 中使用外部工具的一些重要详细信息。

锁定计算机

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

rundll32.exe user32.dll,LockWorkStation

此命令将立即锁定工作站。此命令使用 rundll32.exe(运行 Windows DLL 并保存它们的库以备重复使用)来运行 Windows 管理函数库 user32.dll。

在 Windows XP 等操作系统上,当您在启用了“快速用户切换”的情况下锁定工作站时,计算机将显示用户登录屏幕,而不是启动当前用户的屏幕保护程序。

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

注销当前会话

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

也可以使用 shutdown.exe 工具及其注销选项:

shutdown.exe -l

第三种方法是使用 WMI。Win32_OperatingSystem 类具有 Win32Shutdown 方法。调用带有 0 标志的方法可启动注销:

(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(0)

若要了解详细信息和查找 Win32Shutdown 方法的其他功能,请参阅 MSDN 中的“Win32_OperatingSystem 类的 Win32Shutdown 方法”。

关闭或重新启动计算机

关闭和重新启动计算机通常是相同类型的任务。用于关闭计算机的工具通常也可以重新启动计算机,反之亦然。有两种简单的方法可以从 Windows PowerShell 重新启动计算机。使用带适当参数的 Tsshutdn.exe 或 Shutdown.exe。可通过 tsshutdn.exe /?shutdown.exe /? 获取详细的用法信息。

也可以直接从 Windows PowerShell 中使用 Win32_OperatingSystem 执行关闭和重新启动操作。

若要关闭计算机,请使用带有 1 标志的 Win32Shutdown method 方法。

(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(1)

若要重新启动操作系统,请使用带有 2 标志的 Win32Shutdown 方法。

(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(2)




目录