Posted in
Virtual Machine Manager,
Windows Powershell,
Windows Server |
4 Comments | 4,969 views | 22/05/2013 16:59
In this sample script, I use SCVMM 2012 to get virtual machine list.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| $Servers = Get-Content C:\Servers.txt
foreach ($Server in $Servers)
{
$VMInfo = Get-VM $Server
$VMHost = $VMInfo.VMHost
$VMHostName = $VMHost.Name
$VMHostGroup = $VMHost.VMHostGroup
if ($VMInfo.PassThroughDisks)
{
$PassThroughDisk = "True"
}
else
{
$PassThroughDisk = "False"
}
if ($VMHostGroup -like "All Hosts\*")
{
Add-Content -Value $Server -Path C:\Servers.txt
Add-Content -Value $VMHostName -Path C:\VMHosts.txt
Add-Content -Value $PassThroughDisk -Path C:\PassThroughDisks.txt
}
} |
$Servers = Get-Content C:\Servers.txt
foreach ($Server in $Servers)
{
$VMInfo = Get-VM $Server
$VMHost = $VMInfo.VMHost
$VMHostName = $VMHost.Name
$VMHostGroup = $VMHost.VMHostGroup
if ($VMInfo.PassThroughDisks)
{
$PassThroughDisk = "True"
}
else
{
$PassThroughDisk = "False"
}
if ($VMHostGroup -like "All Hosts\*")
{
Add-Content -Value $Server -Path C:\Servers.txt
Add-Content -Value $VMHostName -Path C:\VMHosts.txt
Add-Content -Value $PassThroughDisk -Path C:\PassThroughDisks.txt
}
}
Also you can filter specific Host Groups like in this sample.