0
新手在這裏,:-)Powershell - 多服務器CPU /內存/ C驅動器統計 - 總計平均
希望你一切順利,伸出援助之手;
我有一個代碼也可以生成多個服務器的CPU/Mem/C驅動器統計,並希望尋求幫助,如果這可能有所有服務器的總平均數?使用下面的腳本,是否有一種方法可以包括獲取我收集的所有服務器(例如10臺服務器)的總平均值?
$ServerListFile = "D:\serverList.txt"
$ServerList = Get-Content $ServerListFile -ErrorAction SilentlyContinue
$Result = @()
ForEach($computername in $ServerList)
{
$AVGProc = Get-WmiObject -computername $computername win32_processor |
Measure-Object -property LoadPercentage -Average | Select Average
$OS = gwmi -Class win32_operatingsystem -computername $computername |
Select-Object @{Name = "MemoryUsage"; Expression = {「{0:N2}」 -f ((($_.TotalVisibleMemorySize - $_.FreePhysicalMemory)*100)/ $_.TotalVisibleMemorySize) }}
$vol = Get-WmiObject -Class win32_Volume -ComputerName $computername -Filter "DriveLetter = 'C:'" |
Select-object @{Name = "C PercentFree"; Expression = {「{0:N2}」 -f (($_.FreeSpace/$_.Capacity)*100) } }
$result += [PSCustomObject] @{
ServerName = "$computername"
CPULoad = "$($AVGProc.Average)%"
MemLoad = "$($OS.MemoryUsage)%"
CDrive = "$($vol.'C PercentFree')%"
}
$Outputreport = "<HTML><TITLE> Server Health Report </TITLE>
<BODY background-color:peachpuff>
<font color =""#99000"" face=""Microsoft Tai le"">
<H2> Server Health Report </H2></font>
<Table border=1 cellpadding=0 cellspacing=0>
<TR bgcolor=gray align=center>
<TD><B>Server Name</B></TD>
<TD><B>Avrg.CPU Utilization</B></TD>
<TD><B>Memory Utilization</B></TD>
<TD><B>Drive C Free Space</B></TD>
</TR>"
Foreach($Entry in $Result)
{
if(($Entry.CpuLoad) -or ($Entry.memload) -ge "80")
{
$Outputreport += "<TR bgcolor=white>"
}
else
{
$Outputreport += "<TR>"
}
$Outputreport += "<TD>$($Entry.Servername)</TD><TD align=center>$($Entry.CPULoad)</TD><TD align=center>$($Entry.MemLoad)</TD><TD align=center>$($Entry.CDrive)</TD></TR>"
}
$Outputreport += "</Table></BODY></HTML>"
}
$Outputreport | out-file "D:\Result $(Get-Date -Format yyy-mm-dd-hhmm).htm"
喜馬蒂亞斯,感謝您的答覆;不幸的是,我對結果沒有任何價值,我在測試結果中看到的是,將另一行插入到它獲得的每個服務器。它可能在我放置你的代碼的地方;仍然不確定,爲什麼它返回一個空值。 – Gibo
另外,在顯示結果後我能將其轉換回百分比嗎?我應該使用 LoadPercentage -Average 或者只是普通的 「$($ CPUAve)%」 – Gibo