PowerCLI-Example-Scripts icon indicating copy to clipboard operation
PowerCLI-Example-Scripts copied to clipboard

Set-HVFarm

Open nfoley84 opened this issue 4 years ago • 4 comments
trafficstars

Hi Having Issues Setting Some Variables Set-HVFarm -FarmName 'Display1' -Key 'data.displayProtocolSettings.enableCollaboration' -Value $false -> this seems to Fail

Connect-HVServer -Server $item -User $user -Password $pswd

Set-HVFarm -FarmName 'Display1' -Key 'data.displayProtocolSettings.defaultDisplayProtocol' -Value $Display_Protocol Set-HVFarm -FarmName 'Display1' -Key 'data.displayProtocolSettings.allowDisplayProtocolOverride' -Value $true Set-HVFarm -FarmName 'Display1' -Key 'data.displayProtocolSettings.enableCollaboration' -Value $true

#DisplayName Set-HVFarm -FarmName 'Display1' -Key 'data.displayName' -Value $Display_Name Set-HVFarm -FarmName 'Display1' -Key 'data.description' -Value $Display_Description

#Set Timout Set-HVFarm -FarmName 'Display1' -Key 'data.SessionSettings.disconnectedSessionTimeoutPolicy' -Value 'NEVER' Set-HVFarm -FarmName 'Display1' -Key 'data.SessionSettings.disconnectedSessionTimeoutMinutes' -Value '56' Set-HVFarm -FarmName 'Display1' -Key 'data.SessionSettings.disconnectedSessionTimeoutMinutes' -Value '56'

Disconnect-HVServer -Server $item -Confirm:$false

For disconnectedSessionTimeoutMinutes /disconnectedSessionTimeoutMinutes / disconnectedSessionTimeoutPolicy I'm getting the following Error.

Exception calling "Farm_Update" with "3" argument(s): "ExceptionType : VMware.Hv.InvalidArgument ErrorMessage : Invalid member name. ParameterName : data.SessionSettings.preLaunchSessionTimeoutMinutes" At C:\Program Files\WindowsPowerShell\Modules\VMware.Hv.Helper\VMware.HV.Helper.psm1:6085 char:9

  •     $farm_service_helper.Farm_Update($services,$item,$updates)
    
  •     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    • FullyQualifiedErrorId : VimException

nfoley84 avatar Feb 24 '21 13:02 nfoley84

The property names are case-sensitive as camelCase, i.e. data.sessionSettings.disconnectedSessionTimeoutPolicy

CajunBard avatar Feb 24 '21 14:02 CajunBard

Have you tried it without data. and starting using a lower case 's' for sessionSettings. ?

Using data. to prefix the the property names is correct, as the Set-HVFarm function relies on the Farm_Update() method, which updates the FarmInfo property of the farm in question.

Farm_Update() Method https://vdc-download.vmware.com/vmwb-repository/dcr-public/93e1f7c4-fae6-4e10-b3be-7c73720b4589/2f59c85d-2770-45cd-bd9d-3a5cc747f3a3/vdi.resources.Farm.html#update

FarmInfo Property https://vdc-download.vmware.com/vmwb-repository/dcr-public/93e1f7c4-fae6-4e10-b3be-7c73720b4589/2f59c85d-2770-45cd-bd9d-3a5cc747f3a3/vdi.resources.Farm.FarmInfo.html

CajunBard avatar Feb 24 '21 14:02 CajunBard

Thanks for the reply @freythman still having the Issue with the Invalid Member name

https://code.vmware.com/apis/1093/view

nfoley84 avatar Feb 24 '21 22:02 nfoley84

Hi, It looks like the issue hasn't been resolved yet. I did some research and it looks like you cannot set data.sessionSettings.disconnectedSessionTimeoutPolicy to "AFTER" because the value for "data.sessionSettings.disconnectedSessionTimeoutMinutes" is NULL. See inner exception:

Set-HVFarm -FarmName bla -Key data.settings.disconnectedSessionTimeoutPolicy -Value "AFTER"
Exception calling "Farm_Update" with "3" argument(s): "ExceptionType : VMware.Hv.InvalidArgument
ErrorMessage : A null value is invalid.
ParameterName : data.settings.disconnectedSessionTimeoutMinutes"
At C:\Program Files\WindowsPowerShell\Modules\VMware.Hv.Helper\VMware.HV.Helper.psm1:6181 char:9
+         $farm_service_helper.Farm_Update($services,$item,$updates)
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : VimException

But even if you you try to set the value for data.settings.disconnectedSessionTimeoutMinutes to a valid integer value before it does not work (I think because data.settings.disconnectedSessionTimeoutPolicy needs to be set to "AFTER" before you can set the minutes value)...

For me it looks like this is an issue in the code...

jepsa78 avatar Feb 17 '23 09:02 jepsa78