VMware PowerCLI
One-liner command 1: Outputs the VM Name, the Disk Name, VMDK Datastore and FileName and Capacity in GB to C:\Temp\VMVHDs.csv for all VMs associated with the PowerCLI-connected vSphere server:
$report = @(); $vms = get-vm; foreach($vm in $vms) {$vhds = Get-HardDisk $vm ; foreach ($vhd in $vhds){ $row = "" | select VMName, Name, FileName, CapacityGB; $row.VMName = $vhd.Parent; $row.Name = $vhd.Name; $row.FileName = $vhd.FileName; $row.CapacityGB = $vhd.CapacityGB; $report += $row;} } $report | export-csv C:\Temp\VMVHDs.csv -NoTypeInformation
Sample Output:
One-liner command 2: Outputs the VM Name, Number of CPUs, Amount of Memory and Cluster to C:\Temp\VMBasicInventory.csv for all VMs associated with the PowerCLI-connected vSphere server:
$report = @(); $vms = get-vm; foreach($vm in $vms) {$cluster = Get-Cluster -VM $vm; $row = "" | select VMName, NumCPU, MemoryGB, Cluster; $row.VMName = $vm.Name; $row.NumCPU = $vm.NumCPU; $row.MemoryGB = $vm.MemoryGB; $row.Cluster = $cluster; $report += $row;} $report | export-csv C:\Temp\VMBasicInventory.csv -NoTypeInformation
Sample Output:
One-liner command 3: Outputs the VM Name and .vmx file path to C:\Temp\VMxList.csv for all VMs associated with the PowerCLI-connected vSphere server:
$report = @(); $vms = Get-VM; foreach ($vm in $vms) {$row = "" | select VMName, VMXPath; $row.VMName = $vm.Name; $row.VMXPath = $vm.ExtensionData.Config.Files.VmPathName; $report += $row;} $report | export-csv C:\Temp\VMxList.csv -NoTypeInformation
Sample Output:
Windows PowerShell (SCVMM)
SCVMM One-liner command 1: Outputs the VMName, VM Configuration File path, VHDCount, VHD Location, VHDSize, MaxVHDSize, Cluster for all VMs managed by the SCVMM server connected by PowerShell
$report = @(); $vms = get-vm; foreach ($vm in $vms){foreach ($vhd in $vm.VirtualHardDisks){$maxvhdsize = [math]::Round($vhd.MaximumSize/1024/1024/1024,1); $vhdsize = [math]::Round($vhd.Size/1024/1024/1024,1); $row = "" | select VMName, VMCPath, VHDCount, VHDLocation, VHDSize, MaxVHDSize, VMCluster; $row.VMName = $vm.Name; $row.VMCPath = $vm.VMCPath; $row.VHDCount = $vm.VirtualHardDisks.Count; $row.VHDLocation = $vhd.Location; $row.VHDSize = $vhdSize; $row.MaxVHDSIze = $MaxVHDSize; $row.VMCluster = $vm.VMHost.HostCluster.Name; $report += $row;};};$report | export-csv C:\Temp\Hyper-V-VMs.csv -NoTypeInformation
Comments (0)