2012-01-22 141 views

回答

15

PowerShell和系統事件日誌完美的設計這項任務。注意ID爲12的事件是系統啓動事件,而ID 13表示系統關閉。以下PowerShell腳本將在一個月內提供系統的啓動和關閉時間。

echo "Start time:" 
Get-EventLog System -After 12/21/2011 | ? {$_.EventId -eq 12} | % {$_.TimeGenerated} 
echo "Shutdown time:" 
Get-EventLog System -After 12/21/2011 | ? {$_.EventId -eq 13} | % {$_.TimeGenerated} 

12/21/2011替換爲您希望的日期。點擊開始菜單,輸入「powershell」,然後進入將啓動Windows PowerShell。

+0

這甚至比我的想法 –

+0

@grapeot當我執行命令時,它給出了以下錯誤消息 'Get-EventLog:無法綁定參數'後'。無法將值「12/21/2011」轉換爲鍵入「System.DateTime」。錯誤:「ng不被識別爲有效的日期時間。」 在線:1個字符:27 + Get-EventLog System -After <<<< 12/21/2011 | ? {$ _。EventId -eq 12} | %{$ _。TimeGenerated} + CategoryInfo:InvalidArgument:(:) [Get-EventLog],ParameterBindingException + FullyQualifiedErrorId:CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.GetEventLogCommand' –

+0

我想這是因爲您使用PowerShell 1.0而不是最新的2.0。你可以試試'Get-EventLog System -After([DateTime] :: Parse('12/21/2011'))| ? {$ _。EventId -eq 12} | %{$ _。TimeGenerated}'?請注意,我們將'12/21/2011'更改爲'([DateTime] :: Parse('12/21/2011'))''。請讓我知道這是否仍然無效。我很抱歉,但我手邊沒有PS 1.0環境。或者如果您願意,可以使用[此修補程序](http://support.microsoft.com/kb/968929)升級到PS 2.0。 – grapeot

4

以下是檢查系統啓動\ uptime的以下步驟。

  1. 打開任務管理器(無論是從Alt + Ctrl + Del,然後點擊「Start Task Manager」點擊,或將運行命令和打字「的TaskMgr.exe」你的開始菜單,然後按下回車鍵)。
  2. 點擊Perfomance標籤
  3. 外觀爲System組靠近底部中間

然後它會說,在DD :: HH :: MM :: SS格式Uptime

+0

感謝您的職位,但我不想系統的正常運行時間,我想系統啓動和關閉最後一個月的時間。但是這裏只給出了同樣的正常運行時間。 –

+0

我很抱歉,我必須解釋你的問題是錯誤的。我發佈了希望下面更合適的答案。 – josephthomas

2

爲了弄清楚這些信息,你可以,如果你試圖對你所有的啓動和關機時間日誌寫一個程序通過事件日誌

+0

但請給我代碼寫,我不知道任何代碼 –

1

你想通過編程代碼來做到這一點。在C/C++代碼中?

GetTickCount64()返回自系統啓動以來的毫秒數。 Vista和up只。 (所以這應該適用於Windows 7)。

如果您必須在比Vista或Win2K8服務器更早的操作系統上運行,那麼普通的舊版GetTickCount() - 在49.7天左右之後會回到零。

然後使用其他time/date functions獲取當前時間。從當前時間減去由GetTickCount或GetTickCount64返回的值。這是系統上次啓動的時間。

+0

我不想知道當前系統的startuo時間,如果我想要那個機制在josephthomas建議的答案是好的,但我想知道最後說的系統啓動時間,例如一個月等。 –

+0

@BhavikAmbani - 你想找到系統(重新)開始的所有不同時間的列表?根據你的問題的標題,這並不明顯。你想要「時代」而不是「時間」。 – selbie

5

有可能在Windows XP中只需要輸入

systeminfo| find "System Up Time" 

它會顯示系統時間。

+0

+1,這是該任務最簡單的方法,恕我直言。 –

+0

對於Windows 7,請搜索「系統啓動時間」。 – Lilienthal