2015-06-23 31 views
0

我正在嘗試在我的VMWare主機上執行一些容量規劃,並想提取每個主機的CPU /內存統計信息。VMWare vSphere Powercli Get-Stat在某些主機上不起作用

我能夠運行一個命令,像這樣:

PowerCLI C:\> Get-VMHost -Name "192.168.1.14" |Get-Stat -Stat mem.usage.average -Start (Get-Date).AddDays(-1) -Finish (Get-Date) 

,並顯示統計信息。

但後來我選擇另一臺主機,如192.168.1.15和它不工作,與此錯誤結尾:

Get-Stat : 2015-06-23 10:56:45 Get-Stat  Object reference not set to an instance of an object. 
At line:1 char:42 
+ Get-VMHost -Name "192.168.1.15" |Get-Stat <<<< -Stat mem.usage.average -Start (Get-Date).AddDays(-1) -Finish (Get-Date) 
    + CategoryInfo   : NotSpecified: (:) [Get-Stat], VimException 
    + FullyQualifiedErrorId : Core_BaseCmdlet_UnknownError,VMware.VimAutomation.ViCore.Cmdlets.Commands.GetViStats 

命令Get-VMHost -Name "192.168.1.15"作品。

任何想法?

PowerCli 5.0.1 
VMWare ESX 5.0 Update 3 
vCenter 5.0.0 Build 1300600 
+0

Get-VMHost -Name「192.168.1.14」| Get-Stat -Memory | ? {$ _。metricid-like「mem.usage.average」}'輸出統計信息? –

回答

0

我認爲你遇到的問題是Date對象被傳遞給cmdlet Get-Stat。從錯誤看來,它將日期視爲一個對象?根據支持-Start-Finish的輸入的documentation爲「dd/mm/yyyy」。

試試這個

Get-Stat -Stat mem.usage.average -Start ((Get-Date).AddDays(-1)).ToString("dd/MM/yyyy") -Finish (Get-Date -Format "dd/mm/yyyy") 

對於-Start我們需要做的日期計算才轉換爲字符串。 .ToString("dd/MM/yyyy")是這樣做的一種方法。由於您今天使用的是-Finish,我們可以使用Get-Date中的-Format來獲得沒有併發症的字符串。

相關問題