Powercli查找已关闭虚拟机和关闭日期

时间:2018-04-27 16:59:47

标签: powershell virtual-machine vmware powercli vcenter

我有一个通用脚本,可以显示我在单个主机上关闭vm的所有功能。我想在此基础上,让它告诉我它关闭的日期,以便我们知道它已经关闭了多长时间。以下是我使用的脚本,显示我在一个单独的主机上关闭了vm:

get-vm -location host.domain.com | ?{$ _。PowerState -eq" PoweredOff"}

我可以轻松添加以逗号分隔的多个主机,并为列出的主机启用所有已关机的vm。

此外,如果有人知道我有办法绕过这一台主机,并检查我的vcenter中的所有主机是否棒极了

提前致谢:)

1 个答案:

答案 0 :(得分:0)

我认为电源关机时没有录音。您必须阅读每个VM的VMware任务和事件日志,并查找“关闭”或“关闭电源”消息,并选择最新的消息。

Get-VM | 
    Where-Object -Property PowerState -eq 'PoweredOff' | 
    Select-Object -Property Name, @{Label='poweredOffTime'; Expression={
        $_ | Get-VIEvent -Types Info | 
            Where-Object -Property fullformattedmessage -Match 'shutdown|powered off' | 
            Sort-Object -Property CreatedTime | 
            Select-Object -Last 1 -ExpandProperty CreatedTime 
    }}

但是只有当日志回溯到足以记录关闭/关闭事件时才会有效,如果它超过了日志清除时间,那么你可能会运气不好。

NB。我不确定'shutdown|powered off'会收到所有相关消息,但应该包含"Initiate guest OS shutdown""{VM} on {host} in {site} is powered off"日志。