Powershell – Why is the Set-ClientAccessServer cmdlet throwing a DataValidationException

exchange-2010powershell

The command I'm trying to execute is

[PS] C:\Windows\system32>Set-ClientAccessServer -Identity CCSEMAIL2010 -AutoDiscoverServiceInternalURI https://autodiscover.local.company.net/Autodiscover/Autodiscover.xml

The exception is

You must provide a value for this property.

  • CategoryInfo : NotSpecified: (0:Int32) [Set-ClientAccessServer], DataValidationException
  • FullyQualifiedErrorId : 4DA56CC3,Microsoft.Exchange.Management.SystemConfigurationTasks.SetClientAccessServer
  • PSComputerName : ccsemail2010.local.company.net

I don't understand what is not specified and why there is a reference to an Int32 in the error. I've verified that the server name is as i input it. I've used adsiedit.msc to hunt down the record in AD and verify that the account I'm using to run the cmdlet has permission to modify it. All of the syntax I've looked at for the cmdlet has only the -Identity property as required. If I run

[PS] C:\Windows\system32>Set-ClientAccessServer -Identity CCSEMAIL2010

The same exception is thrown.

Best Answer

What do you see when running:

get-clientaccessserver | fl name, fqdn

LE: Can you also make sure that you have the required permissions?

Get-ManagementRole -Cmdlet set-clientaccessserver
Get-ManagementRoleAssignment -Role "exchange servers" -GetEffectiveUsers | fl effectiveuser*

In case you have more roles besides "Exchange Servers" with the cmdlet, you should check those too.