Использование сценария RollAlternateserviceAccountCredential.ps1 в консоли

 

Применимо к:Exchange Server 2013

Последнее изменение раздела:2015-03-09

Вы можете использовать сценарий RollAlternateServiceAccountPassword.ps1 в Exchange Server 2013, чтобы обновить учетные данные альтернативной учетной записи службы (ASA) и распределить обновление между указанными серверами клиентского доступа.

ПримечаниеПримечание.
Сценарии не загружаются в командную консоль Exchange автоматически. Все сценарии должно иметь префикс ".\" Например, чтобы запустить сценарий RollAlternateServiceAccountPassword.ps1, введите .\RollAlternateServiceAccountPassword.ps1.
ПримечаниеПримечание.
Это сценарий имеется только на английском языке.

Дополнительные сведения об использовании и записи сценариев см. в разделе Создание сценариев в среде управления Exchange.


RollAlternateServiceAccountPassword.ps1 -Scope <Object> -Identity <Object> -Source <Object> -

Для выполнения этих процедур необходимы соответствующие разрешения. Сведения о необходимых разрешениях см. в статье Запись «Безопасность клиентского доступа» в разделе «Разрешения клиентского доступа».

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

Чтобы использовать этот сценарий, необходимо определить целевые серверы и учетные данные альтернативной учетной записи службы.

Для сценария в качестве целевого объекта можно выбрать все серверы клиентского доступа в лесу, все члены определенного массива серверов клиентского доступа или определенные серверы. Доступны параметры ToEntireForest, ToArraryMembers и ToSpecificServers. Если в качестве целевого объекта для сценария выбраны определенные серверы или члены определенного массива серверов, то в параметре Identity необходимо указать имена целевых серверов или массива серверов.

Этот сценарий позволяет копировать пароль альтернативной учетной записи службы с существующего сервера. Кроме того, можно указать учетную запись, которую необходимо использовать, и разрешить сценарию создавать новый пароль для этой учетной записи. Доступны параметры GenerateNewPasswordFor и CopyFrom. В параметре GenerateNewPasswordFor необходимо указать строку учетной записи в следующем формате: ДОМЕН\Имя_учетной_записи. При использовании учетной записи компьютера необходимо добавить символ «$» в конец имени учетной записи, например CONTOSO\ClientServerAcct$. Параметр CopyFrom использует имя существующего сервера клиентского доступа в качестве источника учетных данных.

Пароль создается с помощью сценария. Никаких действий пользователя не требуется. Сценарий распространит пароль на все целевые компьютеры, а затем обновит учетные данные учетной записи Active Directory с помощью нового пароля.

Этот новый пароль длиной 73 символа соответствует стандартным требованиям к надежному паролю. Если действуют пользовательские требования к паролю, необходимо установить пароль вручную, а затем скопировать его на целевые серверы.

Для предотвращения прерывания работы служб сценарий проверяет каждый сервер клиентского доступа и поддерживает использование текущего пароля во время добавления нового пароля. После запуска сценария общие учетные данные ASA поддерживают использование одного из 2 паролей: текущего пароля, сохраненного в службе каталогов Active Directory, или нового пароля, еще не установленного в службе Active Directory.

Все недопустимые пароли, например устаревшие, будут удалены с серверов назначения. Если пароль в службе каталогов Active Directory невозможно изменить, например из-за истечения срока действия пароля, сценарий выполнит смену пароля. Для этого необходимо, чтобы учетная запись, с помощью которой запущен сценарий, имела разрешения на сброс паролей учетных записей компьютеров или пользователей Active Directory (в зависимости от того, является ли альтернативная учетная запись службы учетной записью компьютера или пользователя).

Если не удалось успешно изменить пароли для всех целевых серверов клиентского доступа, обновление пароля Active Directory может привести к ошибке при проверке подлинности. Если сценарий запущен в автоматическом режиме, он не сможет обновить пароль Active Directory с помощью нового пароля до тех пор, пока все целевые серверы клиентского доступа не будут успешно обновлены. При запуске сценария в режиме с сопровождением отобразится запрос о необходимости обновления пароля в службе каталогов Active Directory.

Чтобы сценарий создал запланированную задачу по обслуживанию пароля на постоянной основе, используйте параметр CreateScheduledTask. В этом параметре необходимо указать строку с именем создаваемой задачи.

ПримечаниеПримечание.
Запустите сценарий и перед созданием автоматической запланированной задачи убедитесь, что он правильно работает в режиме с сопровождением.

Сценарий создает файл CMD в папке, в которой расположен сценарий. Затем он создает задачу по запуску этого файла CMD через каждые три недели. Можно использовать планировщик заданий Windows, чтобы изменить запланированную задачу, например увеличить или уменьшить для нее периодичность запуска. По умолчанию задача будет выполняться с помощью учетной записи пользователя, вошедшего в систему в данный момент. Также сценарий будет выполняться только при входе этого пользователя в систему. Рекомендуется назначить выполнение запланированной задачи независимо от входа пользователя в систему. Также можно определить для нее выполнение с помощью другой учетной записи, имеющей разрешения Active Directory на сброс пароля и роль администратора предприятия Exchange. При создании запланированной задачи сценарий автоматически запускается в автоматическом режиме.

Сценарий не будет управлять именами участников служб учетных данных ASA и не позволит удалить альтернативную учетную запись службы с сервера. Сведения о том, как удалить альтернативную учетную запись службы с сервера, см. в разделе Turn Kerberos authentication off статьи Настройка проверки подлинности Kerberos для серверов клиентского доступа с балансировкой нагрузки.

Рекомендуется запустить сценарий и перед созданием автоматической запланированной задачи убедиться, что он правильно работает в режиме с сопровождением. Сведения по устранению неполадок см. в разделе Устранение неполадок сценария RollAlternateServiceAccountCredential.ps1.

Выходные данные сценария при его запуске в интерактивном режиме с флагом -verbose должны указывать на успешное выполнение операций сценария. Чтобы убедиться в успешном обновлении серверов клиентского доступа, можно проверить отметку времени последнего изменения учетных данных ASA. В следующем примере создается список серверов клиентского доступа и отметка времени последнего обновления альтернативной учетной записи службы.

Get-ClientAccessServer -IncludeAlternateServiceAccountCredentialstatus |Fl Name, AlternateServiceAccountConfiguration

Также можно проверить журнал событий на компьютере, на котором запущен сценарий. Записи журнала событий для сценария хранятся в журнале событий приложений и создаются параметром MSExchange Management Application.Следующая таблица содержит список событий, которые заносятся в журнал, и описания этих событий.

Коды событий сценария и их пояснения

Событие Пояснение

14001

Начало

14002

Успешно (сведения)

14003

Успешно, но с предупреждениями.

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

14004

Сбой

Если сценарий запущен как запланированная задача, его результаты заносятся в журнал, расположенный в папке Logging сервера Exchange во вложенной папке RollAlternateServiceAccountPassword.

Этот журнал можно использовать для проверки успешности выполнения задачи.

 

Параметр Обязательный Описание

ToEntireForest

Необязательный

Параметр ToEntireForest указывает для сценария в качестве целевого объекта все серверы клиентского доступа в лесу.

ToArrayMembers

Необязательный

Параметр ToArrayMembers указывает для сценария в качестве целевого объекта все члены определенного массива серверов клиентского доступа.

ПримечаниеПримечание.
При использовании параметра ToArrayMembers или ToSpecificServers необходимо указать имена серверов или массива серверов с помощью параметра Identity.

ToSpecificServers

Необязательный

Параметр ToSpecificServers указывает для сценария в качестве целевого объекта определенные серверы.

ПримечаниеПримечание.
При использовании параметра ToArrayMembers или ToSpecificServers необходимо указать имена серверов или массива серверов с помощью параметра Identity.

Identity

Обязательный

Параметр Identity задает имя целевого массива серверов клиентского доступа или имена определенных целевых серверов.

GenerateNewPasswordFor<String>

Необязательный

Параметр GenerateNewPasswordFor указывает, что по сценарию необходимо создать новый пароль для учетных данных ASA. В качестве значения строки необходимо указать учетную запись ASA в следующем формате: ДОМЕН\Имя_учетной_записи. При использовании учетной записи компьютера необходимо добавить символ «$» в конец имени учетной записи.

CopyFrom<String>

Необязательный

Параметр CopyFrom указывает, что учетные данные копируются с другого сервера клиентского доступа. В качестве значения строки указывается имя сервера клиентского доступа.

Mode

Необязательный

Параметр Mode указывает, необходимо ли запускать сценарий в режиме с сопровождением или в автоматическом режиме. В автоматическом режиме запрос ввода данных пользователем не отображается и при необходимости выполняется автоматический выбор параметров по умолчанию.

CreateScheduledTask<String>

Необязательный

Параметр CreateScheduledTask указывает, что по сценарию необходимо создать запланированную задачу по обновлению учетных данных ASA. В качестве значения строки указывается имя запланированной задачи, которую необходимо создать.

ПримечаниеПримечание.
Этот сценарий создает файл CMD в папке, в которой расположен сценарий. Запланированная задача будет запускать этот файл CMD через каждые три недели. Эту задачу можно изменить непосредственно в планировщике заданий Windows, например изменить периодичность выполнения задачи.

WhatIf

Необязательный

Параметр WhatIf указывает команде на необходимость имитации действий, которые она будет выполнять над объектом. С помощью параметра WhatIf можно просмотреть результаты изменений, не внося их. Значение параметра WhatIf указывать необязательно.

Confirm

Необязательный

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

Verbose

Необязательный

Параметр Verbose указывает, что по сценарию необходимо выполнять подробное ведение журнала, чтобы дополнительные сведения о действиях сценария записывались в файл журнала.

Debug

Необязательный

Параметр Debug указывает, что сценарий необходимо запускать в режиме отладки. Этот параметр необходимо использовать для определения причины сбоя сценария.

В этом примере используется сценарий по отправке учетных данных на все серверы клиентского доступа в лесу для первой установки.

.\RollAlternateserviceAccountPassword.ps1 -ToEntireForest -GenerateNewPasswordFor "Contoso\ComputerAccount$" -Verbose

В этом примере показано, как создать новый пароль для учетных данных ASA учетной записи пользователя и распространить его на все члены массивов серверов клиентского доступа, имя которых соответствует *mailbox*.

.\RollAlternateserviceAccountPassword.ps1 -ToArrayMembers *mailbox* -GenerateNewPasswordFor "Contoso\UserAccount" -Verbose

В этом примере показано, как создать расписание запланированной задачи по автоматическому переключению паролей, выполняемому один раз в месяц, с именем «Exchange-RollAsa». Эта задача будет обновлять учетные данные ASA для всех серверов клиентского доступа во всем лесу с помощью нового пароля, созданного сценарием. Запланированная задача создана, но сценарий не запущен. При выполнении запланированной задачи сценарий запускается в автоматическом режиме.

.\RollAlternateServiceAccountPassword.ps1 -CreateScheduledTask "Exchange-RollAsa" -ToEntireForest -GenerateNewPasswordFor 'contoso\computerAccount$'

В этом примере показано, как обновить учетные данные ASA для всех серверов клиентского доступа в массиве таких серверов с именем CAS01. Они получают учетные данные из учетной записи компьютера Active Directory с именем ServiceAc1 в домене Contoso.

.\RollAlternateserviceAccountPassword.ps1 -ToArrayMembers "CAS01" -GenerateNewPasswordFor "CONTOSO\ServiceAc1$" 

В этом примере показано, как с помощью сценария распространить учетные данные ASA на новый компьютер или на существующий компьютер, вводимый в эксплуатацию в связи с увеличением размера массива серверов или с повторным добавлением членов массива после обслуживания.

Прежде чем сервер клиентского доступа получит трафик, необходимо обновить учетные данные ASA. Скопируйте общие учетные данные ASA с любого правильно настроенного сервера клиентского доступа. Например, если сервер ServerA имеет используемые в текущий момент учетные данные ASA и пользователь добавил сервер ServerB в массив, можно использовать этот сценарий для копирования учетных данных (включая пароль) с сервера ServerA на сервер ServerB. Это полезно, если сервер ServerB был отключен или не являлся членом массива в тот момент, когда было выполнено последнее переключение пароля.

.\RollAlternateServiceAccountPassword.ps1 -CopyFrom ServerA -ToSpecificServers ServerB -Verbose
 
Показ: