Powershell

VMware ESX 審計

  • July 20, 2012

我希望生成一個 Excel 電子表格,其中包含關於我公司駐留在 7 個 ESX 3.5 伺服器上的約 140 台虛擬機的各種資訊 - 特別是虛擬機的:

  • Name
  • 分配的記憶體、處理器、硬碟
  • 給定時間段內的平均記憶體、處理器使用率
  • 最大記憶體,給定時間段的處理器使用率

我知道我可以手動填寫電子表格,但我正在尋找一個腳本(可能是 powershell),我可以按計劃執行以密切關注事情。

謝謝!

如果您想要一個真正全面的解決方案,請查看VI Power Documenter。不過,這對你來說可能有點矯枉過正。

這是一個 PowerShell 腳本,它將獲取您正在尋找的大部分資訊並導出為 CSV,您當然可以在 Excel 中輕鬆使用。

param ( $Path )
Connect-VIServer -Server MyVIServer
$HDPrimarySize = @{
   Name = "Primary HD Size (GB)"
   Expression = { $_.HardDisks[0].CapacityKB / 1MB }
}
$AvgMemUsage = @{
   Name = "Mem Usage (Daily Avg %)"
   Expression = { ($_ | Get-Stat -Stat mem.usage.average -MaxSamples 1 -ErrorAction SilentlyContinue ).Value }
}
$vm = Get-VM
$output = $vm | Select-Object Name, MemoryMB, NumCpu, $HDPrimarySize, $AvgMemUsage 
$output | Export-Csv -NoTypeInformation -Path $Path

引用自:https://serverfault.com/questions/14844