我正在使用Virtual Machine Manager 2008 R2,并且想知道您是否知道如何通过运行时间来搜索虚拟机。
我想找到运行时间最长的机器,以便我可以通过并重新启动任何已经运行超过6个月的机器。
也许使用powershell这可以实现吗? GUI内的任何内容都会更好!
答案 0 :(得分:1)
更新:刚刚找到了更好,更短的方式:
Get-VM | Where-Object { (Get-VMPerformance -VM $_.Name).UpTime.Days -gt 180 } | Select-Object Name
您可以使用WMI从每个VM获取信息。这将使您运行超过6个月的所有虚拟机无需重启:
$LastBootUpTime = (Get-Date).AddMonths(-6)
Get-VM | Where-Object { Test-Connection -ComputerName $_.Name -Count 1 -Quiet} | Foreach-Object{
$os = Get-WmiObject Win32_OperatingSystem -ComputerName $_.Name
if( $os.ConvertToDateTime($os.LastBootUpTime) -lt $LastBootUpTime) { $_ }
} | Select-Object Name