2010-03-19 38 views
5

我有一臺通過網絡遠程連接的PC,但它偶爾會崩潰或被遠程用戶重新啓動。重新啓動後,一些服務和應用程序必須處於運行狀態。所以我想盡快找出重新啓動。我認爲PS可能是一些腳本的不錯選擇,這樣我可以通過遠程調用來獲取最後一次重啓時間戳信息。獲取Windows上次重新啓動時間戳?

有什麼辦法通過使用PowerShell 2.0(它的遠程處理功能)獲得遠程Windows XP上次重啓時間戳?

回答

1

「System Up Time」性能計數器中提供了計算機的運行時間,以秒爲單位。雖然這可能是矯枉過正。

顯然,對於服務來說,最簡單的方法就是將其啓動模式設置爲「自動」,但如果您有其他需要運行的東西,最簡單的方法是通過Windows任務計劃程序:您可以設置建立計算機啓動時運行的計劃。

+0

通過設置自動服務或計劃任務,情況確實如此。但是,重新啓動可能是由網絡或其他硬件問題引起的,並且可能導致服務或應用程序無法運行。這就是爲什麼我需要獲取最後一次重啓時間戳並檢查其更改。 – 2010-03-19 04:22:10

+0

然後,我仍然可以使用性能計數器作爲「安全網絡」。性能計數器可以遠程讀取。 – 2010-03-19 04:35:19

17

您可以通過WMI做到這一點:

$wmi = Get-WmiObject -Class Win32_OperatingSystem -Computer "RemoteMachine" 
$wmi.ConvertToDateTime($wmi.LastBootUpTime) 
+0

如何從遠程PC獲取信息?我應該用user/pwd指定一個計算機名稱/ ip嗎? – 2010-03-19 04:24:48

3

對於遠程計算機:

$wmi = Get-WmiObject -Class Win32_OperatingSystem -Computer RemoteComputerName 
$wmi.ConvertToDateTime($wmi.LastBootUpTime) 
1

僅供參考,如果你是在PowerShell Community Extensions 2.0 Beta,您可以使用Get-正常運行時間。例如:

PS> Get-Uptime 

Uptime        LastBootUpTime 
------        -------------- 
00:44:01.4401754      3/21/2010 12:07:17 AM