若要在 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)




目錄