Getting All VMs Uptimes with Powershell (SCVMM 2008)
I haven’t post any scripts for a long time because I’m writing IIS7 scripts nowadays. Using IIS7 Powershell Snaping is real fun. But let’s back to the SCVMM and do something different. How about VM Uptimes? As you know, there is no powershell command to see vm uptimes with using SCVMM Snapin (or I don’t know that command) So, now I’ll use Hyper-V snapin codes to take that uptimes and I’ll write it to a xml file. Let’s see the codes.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Add-PSSnapin -name Microsoft.SystemCenter.VirtualMachineManager Get-Vmmserver localhost $VMProp = Get-VM | Select-Object -Property Name,VMHost foreach ($i in $VMProp) { $VMName = $i.Name write-host $VMName $VMHost = $i.VMHost write-host $VMHost $VMState Function Get-VM Filter Get-VMSettingData Filter Get-VMSummary $Uptime = Get-VMSummary -VM $VMName -Server $VMHost $VMUptime = $Uptime.UptimeFormatted $contentStatus = ' <Uptime>' + $VMUptime + '</Uptime>' clear-content -path "C:\Program Files\Microsoft System Center Virtual Machine Manager 2008\wwwroot\Uptime\$VMName.xml" add-content -path "C:\Program Files\Microsoft System Center Virtual Machine Manager 2008\wwwroot\Uptime\$VMName.xml" -value '<?xml version="1.0"?>' add-content -path "C:\Program Files\Microsoft System Center Virtual Machine Manager 2008\wwwroot\Uptime\$VMName.xml" -value '<serverSettings>' add-content -path "C:\Program Files\Microsoft System Center Virtual Machine Manager 2008\wwwroot\Uptime\$VMName.xml" -value $contentStatus add-content -path "C:\Program Files\Microsoft System Center Virtual Machine Manager 2008\wwwroot\Uptime\$VMName.xml" -value '</serverSettings>' } |
As you see, using Hyper-v Snapin Get-VMSummary command is really easy. But what should I do? Should I use that command for every single VM? We have more than 300 vms. I don’t have any time to do that. So what i did?
First, I used SCVMM Snapin to catch all VMs. Then I used “foreach” to use Hyper-v Snapin on all VM’s in my enviroment. I made it a batch file and I can refresh VM Uptimes in a period of time with using this script.
You can download SCVMM Uptime Script from here:
You can parse that xml files and list them in a web application.
Tags: hyper-v vm uptimes, scvmm uptime script, vm uptime script, vm uptimes with powershell
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Leave a Reply