Почему командлет Set-ClientAccessServer выдает исключение DataValidationException

Почему командлет Set-ClientAccessServer выдает исключение DataValidationException

Команда, которую я пытаюсь выполнить, это

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

Исключением является

Вам необходимо указать значение этого свойства.

  • CategoryInfo: Не указано: (0:Int32) [Set-ClientAccessServer], DataValidationException
  • FullyQualifiedErrorId: 4DA56CC3,Microsoft.Exchange.Management.SystemConfigurationTasks.SetClientAccessServer
  • PSИмяКомпьютера: ccsemail2010.local.company.net

Я не понимаю, что не указано и почему в ошибке есть ссылка на Int32. Я проверил, что имя сервера такое, как я его ввел. Я использовал adsiedit.msc, чтобы найти запись в AD и проверить, что учетная запись, которую я использую для запуска командлета, имеет разрешение на ее изменение. Весь синтаксис, который я рассмотрел для командлета, имеет только свойство -Identity, как и требуется. Если я запускаю

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

Выбрасывается то же самое исключение.

решение1

Что вы видите при запуске:

get-clientaccessserver | fl name, fqdn

ЛЭ: Можете ли вы также убедиться, что у вас есть необходимые разрешения?

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

Если у вас есть еще роли помимо «Серверы Exchange» с командлетом, вам следует проверить и их.

решение2

Вот как я решил проблему. Корневой причиной проблемы оказалась коррупция в AD. После того, как коррупция была устранена, все заданные команды, введенные через powershell, работали как и ожидалось.

Сначала я перечислил базы данных почтовых ящиков через PowerShell. введите описание изображения здесь

Затем я открыл консоль управления Exchange, чтобы проверить то, что я увидел в PowerShell. введите описание изображения здесь

введите описание изображения здесь

Запомнив имена баз данных, я вошел в контроллер домена и запустил инструмент ADSIEdit. Я просмотрел дерево, чтобы найти базы данных почтовых ящиков. То, что я увидел, было немного странным. Записей в базах данных почтовых ящиков было больше, чем я ожидал. введите описание изображения здесь

Я исследовал записи базы данных почтовых ящиков далее, чтобы найти две записи базы данных, которые указывали, что они связаны с одним сервером. Я знал из своего предыдущего исследования, что это не ожидалось и может быть неверным. введите описание изображения здесь

введите описание изображения здесь

Я решил рискнуть и удалил базу данных, которая не была указана при запросе баз данных почтовых ящиков через PowerShell и через EMC.

Это исправило. Все мои командлеты powershell теперь работают как и ожидалось

Связанный контент