若要在 Windows PowerShell 中重設電腦,請使用標準命令列工具或 WMI 類別。即便只是使用 Windows PowerShell 來執行工具,學習如何在 Windows PowerShell 中變更電腦的電源狀態,其中還是透露了運用外部工具的一些重要細節。
鎖定電腦
要透過可用的標準工具直接鎖定電腦,唯一的方法是呼叫 user32.dll 中的 LockWorkstation() 函數:
rundll32.exe user32.dll,LockWorkStation
此命令會立即鎖定工作站。此命令使用 rundll32.exe,該執行檔則使用 Windows DLL (並儲存其程式庫以供重複使用) 執行 user32.dll,後者是 Windows 管理函數的程式庫。
如果當您鎖定工作站 (例如 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 執行關機和重新啟動作業。
若要關閉電腦,請使用 Win32Shutdown 方法搭配 1 旗標。
(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(1)
若要重新啟動作業系統,請使用 Win32Shutdown 方法搭配 2 旗標。
(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(2)