用 Powershell 吧
1.在 DC 上,開個夾,建立一個檔,例如: C:\ps\Get_Uptime.ps1
2.執行 Powershell
3. cd c:\ps
4. .\Get_Uptime.ps1
5. 會得到 2 個 CSV 檔.
Get_Uptime.ps1 內容
#若有錯誤,略過,繼續
$ErrorActionPreference = 'SilentlyContinue'
#取出本網域間的所有電腦名稱
#若您沒安裝伺服器管理工具RSAT, 請在DC主機上執行.
$Name=Get-ADComputer -Filter 'Name -like "*"' | select -ExpandProperty Name
 
 foreach ( $N in $Name)
 {
	#取電腦作業系統資訊
	$OS = gwmi Win32_OperatingSystem -computerName $N
	#取上次開機時間
	$boottime = $OS.converttodatetime($OS.LastBootUpTime)
	#折分日期
	$bt3 = (Get-Date) - $OS.ConvertToDateTime($OS.LastBootUpTime)
	#轉日期格式 "yyyy-MM-dd hh:mm:ss"
	$boottime2 = $boottime | Get-Date -f "yyyy-MM-dd hh:mm:ss"
	#取開機天數
	$uptime = New-TimeSpan (get-date $boottime2) 
	$uptime_days = [int]$uptime.days
	#輸出到CSV, 格式= 電腦名稱,上次開機時期,已開機 日數
	$N+","+$boottime2+","+$uptime_days |OUT-FILE -Append data.csv
	#輸出到CSV, 格式= 電腦名稱,上次開機時期,已開機 日,時,分
	$N+","+$boottime2+","+$bt3.Days + " Days " + $bt3.Hours + " Hours " + $bt3.Minutes + " Minutes" |OUT-FILE -Append data2.csv
 }