PowerCLI-在1个表中获取VM cd-mount

时间:2017-05-11 15:17:07

标签: powershell powercli

我尝试在一个表中获取所有已安装cd的vm,但我得到的输出是逐行的,如:

VM1 \ vm1_isopath \ VM2 \ vm2_isopath \

是否可以获取包含2列,VM名称和ISOPath的1个表中的所有信息?

我的代码是:

$VMs=Get-VM
ForEach ( $vm in $VMs)

    {
        $VMmount=Get-CDDrive -VM $vm
        if ($VMmount.IsoPath) 
        {
           $vm | select Name
           $VMmount.IsoPath

        }
    }
谢谢。

1 个答案:

答案 0 :(得分:0)

我将您的代码扩展到:



$VMs=Get-VM

$vmInfos = @()

ForEach ( $vm in $VMs)
    {
        $VMmount=Get-CDDrive -VM $vm
        if ($VMmount.IsoPath) 
        {
            # Store needed info in hashtable
            $info = @{}
            $info.name = ($vm | select -ExpandProperty Name)
            $info.IsoPath =  $VMmount.IsoPath
            
            # Convert hashtable to custom object
            $object = New-Object –TypeName PSObject –Prop $info
            
            # Add to array
            $vmInfos += $object
        }
    }

# Dump collected infos
$vmInfos | format-table -autosize




希望有所帮助