Automation

 View Only
  • 1.  PowerCLI - Stuck with code - Export data / Convert problem

    Posted Nov 18, 2020 02:38 PM

    Hello everyone,

    I have a problem with the code.


    The following is the problem: @{N="VM Affinity-Host-s";E={Get-VM -Name $vm | Get-VMHost | Get-DrsClusterGroup | Select-Object Member}}


    If I execute the code part "Get-VM -Name $vm | Get-VMHost | Get-DrsClusterGroup | Select-Object Member" directly, I get the desired result.
    If I execute the code as a whole, I get the following message:
    VM Affinity Host-s : @{Member=VMware.VimAutomation.ViCore.Interop.V1.Inventory.VMHostInterop[]}

    I just can't get any further here and don't know what to do.
    Hope one of you can solve it?!

    ----------Code start-----------

    $vms = Get-VM -Name vm*
    $report = foreach($vm in $vms){

    $vm | Get-VMHost | Select-Object @{N="Cluster";E={$_.Parent.Name}},

    @{N="VMHost";E={get-vmhost -Name $_.Name}},

    @{N="Sockets";E={$_.ExtensionData.Hardware.CpuInfo.NumCpuPackages}},

    @{N="CPU Cores";E={$_.ExtensionData.Hardware.CpuInfo.NumCpuCores}},

    @{N="CPU Threads";E={$_.ExtensionData.Hardware.CpuInfo.NumCpuThreads}},

    @{N="VM Name";E={Get-VM -Name $vm}},

    @{N="VM Name-Notes";E={Get-VM -Name $vm | Select-Object Notes}},

    @{N="VM Affinity-Host-s";E={Get-VM -Name $vm | Get-VMHost | Get-DrsClusterGroup | Select-Object Member}}



    } $report | Sort-Object VMHost | Export-csv -Path "C:\Temp\test123.csv" -NoTypeInformation -Encoding UTF8 -Delimiter ';'

    --------Code finish ------------

    Thanks
    Erich



  • 2.  RE: PowerCLI - Stuck with code - Export data / Convert problem

    Posted Jan 17, 2021 07:48 PM

    Hi Eric,

    When you run this piece of code (Get-VM -Name $VM | Get-VMHost | Get-DrsClusterGroup) you will see that Member is not a simple string but an array of values. So if you want all members you will have to run them through a foreach... Something like this:  Get-VM -Name $VM | Get-VMHost | Get-DrsClusterGroup | %{$_.Member}.

    Now, you will get all the hosts that are a member of that DRS group. If you only want the names you can change the code to this: Get-VM -Name $VM | Get-VMHost | Get-DrsClusterGroup | %{$_.Member.Name}

     



  • 3.  RE: PowerCLI - Stuck with code - Export data / Convert problem

    Broadcom Employee
    Posted Jan 17, 2021 10:58 PM

     

    Moderator: Moved to PowerCLI Discussions, the {code} area is for SDK matters.