vmhost Advanced Settings are case sensitive

Configuring some ESX hosts with PowerCLI and was setting syslog to my loginsight server. I kept getting errors advising that the Syslog.Global.LogHost option does not exist.

PS H:\Scripts> $vmhost = Get-VMHost -Name ESX01
PS H:\Scripts> Get-AdvancedSetting -Entity $vmhost -Name Syslog.Global.LogHost
Get-AdvancedSetting : 4/02/2015 9:04:48 AM Get-AdvancedSetting "Syslog.Global.LogHost" option doesn't exist.
At line:1 char:1
+ Get-AdvancedSetting -Entity $vmhost[0] -Name Syslog.Global.LogHost
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-AdvancedSetting], InvalidName
+ FullyQualifiedErrorId : Client20_SystemManagementServiceImpl_ConvertToHashtable_OptionNotFound,VMware.VimAutomation.ViCore.Cmdlets.Commands.GetAdvancedSetting
   
.   

I know this option exists I can see it in the GUI

Advanced Settings Syslog global logHost

It then dawned on me that, no surely it couldn’t be, yes, yes it is. Case sensitive.

PS H:\Scripts> Get-AdvancedSetting -Entity $vmhost[0] -Name Syslog.global.logHost

Name                 Value                Type                 Description                   
----                 -----                ----                 -----------                   
Syslog.global.log...                      VMHost
   
.   

So a little trap for young players.

Set syslog server.

$vmhost = Get-VMHost -Name ESX01
#To add multiple syslog servers separate via a comma (,)
[string]$SysLogServers = "udp://loginsight.home.local:514"
Get-AdvancedSetting -Entity $vmHost -Name Syslog.global.logHost | Set-AdvancedSetting -Value $SysLogServers -Confirm:$false
   
.

Environmental Information:
ESX 5.5

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.