Команда, которую я пытаюсь выполнить, это
[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 теперь работают как и ожидалось