PowerShell巡檢主機獲取CPU占用、內存使用、硬盤情況的腳本


Windows底下用PowerShell寫的獲取CPU核數、占用率;內存可用內存大小(GB)、使用率;硬盤總空余大小(GB),使用率


$Server = $env:computername
#server's CPU Mem Hardinfor 
$IpAdd = (Get-WmiObject -class win32_NetworkAdapterConfiguration -Filter 'ipenabled = "true"').ipaddress[0]
$SystemVersion = Get-WmiObject -Class Win32_OperatingSystem | Select-Object -ExpandProperty Caption
$cpu = gwmi -computername $Server win32_Processor 
$men = gwmi -computername $Server win32_OperatingSystem 
$Disks = gwmi -Computer: $Server win32_logicaldisk -filter "drivetype=3" 
$Havecpu = "{0:0.0} %" -f $cpu.LoadPercentage 
$Allmen = "{0:0.0} MB" -f ($men.TotalVisibleMemorySize  / 1KB) 
$Freemen = "{0:0.0} MB" -f ($men.FreePhysicalMemory  / 1KB) 
$Permem =  "{0:0.0} %" -f ((($men.TotalVisibleMemorySize-$men.FreePhysicalMemory)/$men.TotalVisibleMemorySize)*100) 

Write-Host "Computer:$Server|"`r`n
Write-Host "SystemVersion:$SystemVersion|"`r`n
Write-Host "Ipaddress:$IpAdd|"`r`n
Write-Host "CPU: $Havecpu|"`r`n
Write-Host "TotalMem:$Allmen|"`r`n 
Write-Host "FreeMem:$Freemen|"`r`n
Write-Host "UsedMem:$Permem|"`r`n




將之封閉為BAT運行,並將結果COPY至統一機器共享內:

powershell .\GetCPUMem.ps1 > \\XXX\Iperf\log\%computername%.txt

 

下一步,必然是通過BAT或PS在每個客戶機上建立相應的SCHEDULE TASK啦。

然后,集中數據,一方面將數據導入SQL用於以后分析,通過WEB即時訪問,固定時間通過郵件發送REPORT。

https://blog.csdn.net/sinat_28371057/article/details/91376741


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM