PowerCLI

 View Only
  • 1.  Horizon 7 Pool changes via Powercli

    Posted Jan 08, 2019 03:39 PM

    I have Horizon 7 environment that requires some automation. I am using powercli and vmware.hv.helper

    $p = Get-HVPool -poolname '<poolname>'

    this is the setting needing to change:

    $p.DesktopSettings.LogoffSettings.PowerPolicy

    to either of these values:

    ALWAYS_POWERED_ON

    POWER_OFF

    TAKE_NO_POWER_ACTION

    but when I try to use the set-HVPool, I am getting error:

    with this command:

    Set-HVPool -PoolName $p.base.name -Key 'DesktopSettings.LogoffSettings.PowerPolicy' -Value 'TAKE_NO_POWER_ACTION'

    the error is:

    Exception calling "Desktop_Update" with "3" argument(s): "ExceptionType : VMware.Hv.InvalidArgument

    ErrorMessage : Invalid member name.

    ParameterName : DesktopSettings.LogoffSettings.PowerPolicy"

    At C:\Users\xxxxx\Documents\WindowsPowerShell\Modules\VMware.Hv.Helper\Modules\VMware.Hv.Helper\VMware.HV.Helpe

    r.psm1:6171 char:8

    +        $desktop_helper.Desktop_Update($services,$item,$updates)

    +        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException

        + FullyQualifiedErrorId : VimException

    and with this command

    Set-HVPool -PoolName $p.base.name -Key $p.DesktopSettings.LogoffSettings.PowerPolicy -Value 'TAKE_NO_POWER_ACTION'

    the error is:

    Exception calling "Desktop_Update" with "3" argument(s): "ExceptionType : VMware.Hv.InvalidArgument

    ErrorMessage : Invalid member name.

    ParameterName : ALWAYS_POWERED_ON"

    At C:\Users\xxxxxx\Documents\WindowsPowerShell\Modules\VMware.Hv.Helper\Modules\VMware.Hv.Helper\VMware.HV.Helper.psm1:6171 char:8

    +        $desktop_helper.Desktop_Update($services,$item,$updates)

    +        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException

        + FullyQualifiedErrorId : VimException

    Any Idea?

    Thanks



  • 2.  RE: Horizon 7 Pool changes via Powercli

    Posted Jan 14, 2020 11:07 PM

    Keys are case-sensitive, try using 'desktopSettings.logoffSettings.powerPolicy' which is from View API - VMware API Explorer - VMware {code} (Name column)

    I'm working on my own automation script and I was able to set the Power Policy fine using the above (and many other pool settings besides), however I'm getting the same error that you are while trying to enable 3D renderer with 'DesktopSettings.displayProtocolSettings.pcoipDisplaySettings.renderer3D'. I wish there was more documentation for this stuff.



  • 3.  RE: Horizon 7 Pool changes via Powercli

    Posted Oct 15, 2020 08:02 PM

    I just spent two hours trying to run a simple command and I think I figured out the syntax.  Try changing the first letter in the first word in a concatenated string to lower case, but every remaining word in the string to start with a capital letter.  I hate that it's so persnickety, it's not helpful.

    Here is the code I was trying to run:

    $pools = Get-HVPool

    foreach($pool in $pools | where {!$_.ManualDesktopData})

        {

            if($pool.DesktopSettings.LogoffSettings.DeleteOrRefreshMachineAfterLogoff -eq "REFRESH")

                {

                    #Write-Host "Setting" $pool.Base.Name "to NEVER refresh at logoff."

                    Set-HVPool -Pool $pool -Key "desktopSettings.logoffSettings.deleteOrRefreshMachineAfterLogoff" -Value "NEVER" #-WhatIf

                }

        }

    Notice that the first letter of each word in it's portion of the string are lower case:

    desktopSettings

    logoffSettings

    deleteOrRefreshMachineAfterLogoff

    Hope this helps.



  • 4.  RE: Horizon 7 Pool changes via Powercli

    Posted Oct 27, 2023 09:51 AM

    am getting same error while updating network setting of pool. By default, it accepts the same network as that of golden image however when am changing it, it gives same error.

    Set-HVPool -PoolName $PoolName -Key "AutomatedDesktopData.VirtualCenterNamesData.NetworkLabelNames" -Value $NetworkPort

    I have also tried with lowercase but no help.

    Set-HVPool -PoolName $PoolName -Key "automatedDesktopData.virtualCenterNamesData.networkLabelNames" -Value $NetworkPort

    Can anyone suggest what I can do to update the network setting of pool?