我正在尝试编写脚本以使 VM关机的日期和时间超过30天(自Vsphere设置以来一直如此),我知道它们仅在我解析了已关闭电源的最新vmware.log,并检查其中的最后一个字符串日期。
我在该脚本下面包含了脚本,该脚本仅提供了过去30天的输出
```
$VMs = get-vm | Where powerstate -eq "poweredoff"
Get-VIEvent -Entity $VMs -MaxSamples ([int]::MaxValue) |
where {$_ -is [VMware.Vim.VmPoweredOffEvent]} |
Group-Object -Property {$_.Vm.Name} | %{
$lastPO = $_.Group | Sort-Object -Property CreatedTime -Descending | Select -First 1
$vm = Get-VIObjectByVIView -MORef $_.Group[0].VM.VM
$cloumn = '' | select VMName,Powerstate,PowerOFF
```
在vmware日志文件的帮助下,我期望30天以上的结果,目前我可以得到30天的结果
答案 0 :(得分:0)
有两个潜在原因。首先,您似乎并没有将时间限制为30天或更早。您正在抓取所有所有事件。第二,vCenter日志会按一定的时间间隔汇总,这会将它们转换为Get-VIEvent
cmdlet将无法再读取的zip文件。这是日志解析器起作用的地方,例如Log Insight或Splunk / SolarWinds / Nagios。