Por que o cmdlet Set-ClientAccessServer está lançando uma DataValidationException

Por que o cmdlet Set-ClientAccessServer está lançando uma DataValidationException

O comando que estou tentando executar é

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

A exceção é

Você deve fornecer um valor para esta propriedade.

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

Não entendo o que não está especificado e por que há uma referência a um Int32 no erro. Verifiquei que o nome do servidor é como eu o inseri. Usei adsiedit.msc para localizar o registro no AD e verificar se a conta que estou usando para executar o cmdlet tem permissão para modificá-lo. Toda a sintaxe que observei para o cmdlet possui apenas a propriedade -Identity conforme necessário. Se eu correr

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

A mesma exceção é lançada.

Responder1

O que você vê ao correr:

get-clientaccessserver | fl name, fqdn

LE: Você também pode ter certeza de que possui as permissões necessárias?

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

Caso você tenha mais funções além de "Servidores Exchange" com o cmdlet, verifique-as também.

Responder2

Foi assim que resolvi o problema. A causa raiz do problema acabou sendo a corrupção no AD. Depois que a corrupção foi limpa, todos os comandos definidos emitidos via PowerShell funcionaram conforme o esperado.

Primeiro listei os bancos de dados de caixas de correio via powershell insira a descrição da imagem aqui

Em seguida, abri o Exchange Management Console para verificar o que vi no PowerShell insira a descrição da imagem aqui

insira a descrição da imagem aqui

Observando os nomes dos bancos de dados, efetuei login em um controlador de domínio e iniciei a ferramenta ADSIEdit. Procurei na árvore para encontrar os bancos de dados da caixa de correio. O que vi foi um pouco estranho. Havia mais registros de banco de dados de caixas de correio do que eu esperava. insira a descrição da imagem aqui

Investiguei mais detalhadamente os registros do banco de dados da caixa de correio para encontrar dois registros do banco de dados que indicavam que estavam associados a um único servidor. Eu sabia pela minha pesquisa anterior que isso não era esperado e pode não estar correto. insira a descrição da imagem aqui

insira a descrição da imagem aqui

Decidi arriscar e removi o banco de dados que não estava listado ao solicitar bancos de dados de caixa de correio via powershell e via EMC.

Isso resolveu. Todos os meus cmdlets do PowerShell agora funcionam conforme esperado

informação relacionada