【发布时间】:2018-03-15 13:19:42
【问题描述】:
我正在编写一个脚本来拉取 VM 内存膨胀并准备好汇总统计信息。我想以 5 分钟的间隔提取 24 小时的统计数据。我运行的命令是:
$datetime = Get-Date #Get the datetime it currently is
$date = $datetime.Date #Get just the date, starting at midnight
$interval = 5
$statType = "mem.vmmemctl.average", "cpu.ready.summation"
$vmStats = get-stat -Entity $vm -start $date.AddDays(-1) -Finish $date -MaxSamples 10000 -stat $statType -IntervalMins $interval
但是,此结果给出了一组统计数据,这些统计数据最高可达 $date(今天的午夜),但只能追溯到昨天的四舍五入的当前时间。
例如,如果get-date 返回03/14/2018 10:43:42 AM,并且$date 设置为03/14/2018 12:00:00 AM,则使用$date.AddDays(-1) 的开始日期时返回的最早统计数据是2018-03-13 10:30:00.000。
我不知道发生了什么。我尝试将$date 和$date.AddDays(-1) 都转换为[date] 和[datetime],并且我还尝试将午夜值硬编码为开始和结束日期。最早的统计数据是基于Get-Stat 被执行的时间这一事实似乎没有任何改变。
使用 30 分钟或 2 小时间隔时不会发生这种情况。这个问题似乎只发生在 5 分钟的统计间隔内。我究竟做错了什么?这是Get-Stat的正常行为吗?
【问题讨论】:
标签: powershell vmware powershell-3.0 powercli