[英]VMWare vSphere Powercli Get-Stat does not work on some host
我正在尝试在我的VMWare主机上进行一些容量计划,并希望为每个主机提取cpu /内存统计信息。
我能够运行这样的命令:
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
我认为您遇到的问题是将Date对象传递给cmdlet Get-Stat
。 从错误似乎将日期视为对象? 根据支持-Start
和-Finish
输入的文档为“ 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
来Get-Date
字符串而无需复杂化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.