Коды ошибок active directory

title titleSuffix description services author manager ms.service ms.workload ms.topic ms.date ms.author ms.subservice ms.openlocfilehash ms.sourcegitcommit ms.translationtype ms.contentlocale ms.lasthandoff ms.locfileid

Справочник по кодам ошибок

Azure AD B2C

Список кодов ошибок, которые могут возвращаться службой Azure Active Directory B2C.

B2C

msmimart

celestedg

active-directory

identity

reference

10/02/2020

mimart

B2C

f6ae806b7666d83652e6b82bac16d89f2f9ce7aa

772eb9c6684dd4864e0ba507945a83e48b8c16f0

MT

ru-RU

03/19/2021

92215439

Коды ошибок: Azure Active Directory B2C

Служба Azure Active Directory B2C может возвращать следующие ошибки.

Код ошибки Сообщение
AADB2C90002 Ресурс CORS » {0} » вернул 404 не найден.
AADB2C90006 URI перенаправления » {0} «, указанный в запросе, не зарегистрирован для идентификатора клиента » {1} «.
AADB2C90007 Приложение, связанное с идентификатором клиента » {0} «, не имеет зарегистрированных URI перенаправления.
AADB2C90008 Запрос не содержит параметр идентификатора клиента.
AADB2C90010 Запрос не содержит параметр области.
AADB2C90011 Идентификатор клиента «», {0} указанный в запросе, не совпадает с идентификатором клиента » {1} «, зарегистрированным в политике.
AADB2C90012 Область » {0} «, указанная в запросе, не поддерживается.
AADB2C90013 Запрошенный тип ответа » {0} «, указанный в запросе, не поддерживается.
AADB2C90014 Запрошенный режим ответа » {0} «, указанный в запросе, не поддерживается.
AADB2C90016 Запрошенный тип утверждения клиента » {0} » не соответствует ожидаемому типу » {1} «.
AADB2C90017 В запросе указано недопустимое утверждение клиента: {0}
AADB2C90018 Идентификатор клиента » {0} «, указанный в запросе, не зарегистрирован в клиенте » {1} «.
AADB2C90019 Контейнер ключей с идентификатором » {0} » в клиенте » {1} » не имеет допустимого ключа. Причина: {2} .
AADB2C90021 Технический профиль » {0} » не существует в политике » {1} » клиента » {2} «.
AADB2C90022 Не удалось вернуть метаданные для политики » {0} » в клиенте » {1} «.
AADB2C90023 Профиль » {0} » не содержит требуемый ключ метаданных » {1} «.
AADB2C90025 Профиль » {0} » в политике » {1} » в клиенте » {2} » не содержит необходимый криптографический ключ » {3} «.
AADB2C90027 Для «» указаны недопустимые основные учетные данные {0} . Проверьте правильность учетных данных и убедитесь, что доступ предоставлен ресурсом.
AADB2C90028 Сертификат клиента, указанный для » {0} «, недопустим. Убедитесь, что сертификат указан правильно, содержит закрытый ключ и этот доступ предоставлен ресурсом.
AADB2C90031 Политика » {0} » не указывает пути взаимодействия пользователя по умолчанию. Убедитесь, что политика или ее родительские объекты указывают путь взаимодействия пользователя по умолчанию в рамках раздела проверяющей стороны.
AADB2C90035 Служба временно недоступна. Повторите попытку через несколько минут.
AADB2C90036 Запрос не содержит универсальный код ресурса (URI) для перенаправления пользователя после выхода из системы. Укажите URI в поле параметра post_logout_redirect_uri.
AADB2C90037 При обработке этого запроса возникла ошибка. Обратитесь к администратору сайта, к которому вы пытаетесь получить доступ.
AADB2C90039 Запрос содержит утверждение клиента, но в указанной политике » {0} » в клиенте » {1} » отсутствует Client_secret в релингпартиполици.
AADB2C90040 Путь взаимодействия пользователя » {0} » не содержит шаг «Отправка утверждений».
AADB2C90043 Строка, входящая в запрос, содержит недопустимые значения. Ожидалось «None», «Login», «согласие» или «select_account».
AADB2C90044 Утверждение » {0} » не поддерживается распознавателем утверждений » {1} «.
AADB2C90046 Возникли проблемы при загрузке текущего состояния. Возможно, вы захотите попробовать начать сеанс с самого начала.
AADB2C90047 Ресурс » {0} » содержит ошибки сценария, препятствующие его загрузке.
AADB2C90048 На сервере возникло необработанное исключение.
AADB2C90051 Не найдены подходящие поставщики утверждений.
AADB2C90052 Недопустимое имя пользователя или пароль.
AADB2C90053 Не удалось найти пользователя с указанными учетными данными.
AADB2C90054 Недопустимое имя пользователя или пароль.
AADB2C90055 Область » {0} «, указанная в запросе, должна указывать ресурс, например » https://example.com/calendar.read «.
AADB2C90057 Указанное приложение не настроено для разрешения неявного потока OAuth.
AADB2C90058 Указанное приложение не настроено для разрешения открытых клиентов.
AADB2C99059 Указанный запрос должен представлять code_challenge. Требуется для одностраничных приложений с помощью потока кода авторизации.
AADB2C90067 URI перенаправления после выхода из системы {0} имеет недопустимый формат. Укажите URL-адрес на основе HTTPS, например » https://example.com/return «, или для собственных клиентов используйте URI собственного клиента IETF «urn: IETF: WG: OAuth: 2.0: OOB».
AADB2C90068 Указанное приложение с ИДЕНТИФИКАТОРом » {0} » не является допустимым для этой службы. Используйте приложение, созданное с помощью портала B2C, и повторите попытку.
AADB2C90075 Обмен утверждениями » {0} «, указанным на шаге » {1} «, вернул ответ об ошибке HTTP с кодом » {2} » и причиной » {3} «.
AADB2C90077 У пользователя нет существующего сеанса, и у параметра Prompt запроса есть значение » {0} «.
AADB2C90079 Клиенты должны отправить client_secret при активации конфиденциального предоставления прав.
AADB2C90080 Истек срок действия предоставленного разрешения GRANT. Выполните повторную проверку подлинности и повторите попытку. Текущее время: {0} , предоставление времени выдачи: {1} , предоставление скользящего времени окончания срока действия окна: {2} .
AADB2C90081 Указанное значение client_secret не соответствует ожидаемому значению для этого клиента. Исправьте client_secret и повторите попытку.
AADB2C90083 В запросе отсутствует обязательный параметр: {0} .
AADB2C90084 Общедоступные клиенты не должны отсылать client_secret при активации общедоступного предоставления разрешений.
AADB2C90085 В службе произошла внутренняя ошибка. Выполните повторную проверку подлинности и повторите попытку.
AADB2C90086 Указанный grant_type [ {0} ] не поддерживается.
AADB2C90087 Предоставленное разрешение не было выдано для этой версии конечной точки протокола.
AADB2C90088 Предоставленное разрешение не было выдано для этой конечной точки. Фактическое значение: {0} и ожидаемое значение: {1}
AADB2C90091 Отмена пользователем.
AADB2C90092 Указанное приложение с ИДЕНТИФИКАТОРом » {0} » отключено для клиента » {1} «. Включите приложение и повторите попытку.
AADB2C90107 Приложению с ИДЕНТИФИКАТОРом » {0} » не удается получить маркер идентификатора, так как область OpenID Connect не была указана в запросе, или приложение не имеет разрешений для него.
AADB2C90108 На шаге оркестрации » {0} » не указан кпимиссуертечникалпрофилереференцеид, если ожидался один из них.
AADB2C90110 При запросе response_type, включающего «id_token», параметр области должен включать «OpenID Connect».
AADB2C90111 Ваша учетная запись заблокирована. Обратитесь к представителю службы поддержки, чтобы разблокировать ее, и повторите попытку.
AADB2C90114 Ваша учетная запись временно заблокирована, чтобы предотвратить ее несанкционированное использование. Повторите попытку позже.
AADB2C90115 При запросе response_type кода параметр области должен включать идентификатор ресурса или клиента для маркеров доступа, а также «OpenID Connect» для маркеров идентификации. Кроме того, добавьте «offline_access» для маркеров обновления.
AADB2C90117 Область » {0} «, указанная в запросе, не поддерживается.
AADB2C90118 Пользователь забыл свой пароль.
AADB2C90120 {0}В запросе указан недопустимый параметр максимального срока «». Максимальный возраст должен быть целым числом в диапазоне от » {1} » до » {2} » включительно.
AADB2C90122 Входные данные для » {0} «, полученного в запросе, не прошли проверку HTTP-запроса. Убедитесь, что входные данные не содержат таких символов, как < или &.
AADB2C90128 Учетная запись, связанная с этим предоставлением, больше не существует. Выполните повторную проверку подлинности и повторите попытку.
AADB2C90129 Предоставленный объект Grant был отозван. Выполните повторную проверку подлинности и повторите попытку.
AADB2C90145 Непроверенные номера телефонов не найдены, и политика не разрешает введенный пользователем номер.
AADB2C90146 Область » {0} «, указанная в запросе, указывает более одного ресурса для маркера доступа, что не поддерживается.
AADB2C90149 {0}Не удалось загрузить скрипт «».
AADB2C90151 Пользователь превысил максимальное число повторных попыток для многофакторной проверки подлинности.
AADB2C90152 Запрос многофакторного опроса не смог получить ответ от службы.
AADB2C90154 Запрос многофакторной проверки подлинности не смог получить идентификатор сеанса от службы.
AADB2C90155 Запрос многофакторной проверки подлинности завершился с причиной » {0} «.
AADB2C90156 Запрос многофакторной проверки подлинности завершился с причиной » {0} «.
AADB2C90157 Пользователь превысил максимальное число повторных попыток для самостоятельного этапа.
AADB2C90158 Сбой запроса с самоподтверждением проверки с причиной » {0} «.
AADB2C90159 Не удалось выполнить самоподтвержденный запрос проверки с причиной » {0} «.
AADB2C90161 Сбой автоматического подтверждения отправки ответа с причиной » {0} «.
AADB2C90165 В состоянии не удается найти сообщение инициации SAML с идентификатором » {0} «.
AADB2C90168 Запрос HTTP-Redirect не содержит обязательный параметр » {0} » для подписанного запроса.
AADB2C90178 Сертификат подписи » {0} » не имеет закрытого ключа.
AADB2C90182 Указанный code_verifier не соответствует связанному code_challenge
AADB2C90183 Указан недопустимый code_verifier
AADB2C90184 Указанный code_challenge_method не поддерживается. Поддерживаемые значения — plain или S256
AADB2C90188 В техническом профиле SAML » {0} » указан URL-адрес партнерентити » {1} «, но получение метаданных завершается сбоем с причиной » {2} «.
AADB2C90194 Утверждение » {0} «, указанное для токена носителя, отсутствует в доступных утверждениях. Доступные утверждения » {1} «.
AADB2C90205 Это приложение не имеет достаточных разрешений на доступ к этому веб-ресурсу для выполнения операции.
AADB2C90206 Истекло время ожидания при инициализации клиента.
AADB2C90208 Истек срок действия указанного id_token_hint параметра. Укажите другой токен и повторите попытку.
AADB2C90209 Указанный параметр id_token_hint не содержит допустимую аудиторию. Допустимые значения аудитории: » {0} «. Укажите другой токен и повторите попытку.
AADB2C90210 Не удалось проверить указанный параметр id_token_hint. Укажите другой токен и повторите попытку.
AADB2C90211 Запрос содержал неполный файл cookie состояния.
AADB2C90212 Запрос содержал недопустимый файл cookie состояния.
AADB2C90220 Контейнер ключей в клиенте » {0} » с идентификатором хранилища » {1} » существует, но не содержит допустимый сертификат. Возможно, срок действия сертификата истек, или ваш сертификат может стать активным в будущем (NBF).
AADB2C90223 Произошла ошибка при исключении ресурса CORS.
AADB2C90224 Поток с владельцем ресурса не включен для приложения.
AADB2C90225 В запросе указано недопустимое имя пользователя или пароль.
AADB2C90226 Указанный обмен маркерами поддерживается только для HTTP-запроса POST.
AADB2C90232 Указанный параметр id_token_hint не содержит обслуживаемого издателя. Допустимые издатели: » {0} «. Укажите другой токен и повторите попытку.
AADB2C90233 Указанный параметр id_token_hint не прошел проверку подписи. Укажите другой токен и повторите попытку.
AADB2C90235 Срок действия указанного id_token истек. Укажите другой токен и повторите попытку.
AADB2C90237 Указанный id_token не содержит допустимую аудиторию. Допустимые значения аудитории: » {0} «. Укажите другой токен и повторите попытку.
AADB2C90238 Предоставленный id_token не содержит допустимого издателя. Допустимые значения издателя: » {0} «. Укажите другой токен и повторите попытку.
AADB2C90239 Предоставленный id_token не прошел проверку подписи. Укажите другой токен и повторите попытку.
AADB2C90240 Указанный id_token имеет неправильный формат и не может быть проанализирован. Укажите другой токен и повторите попытку.
AADB2C90242 В техническом профиле SAML » {0} » указывается ПАРТНЕРЕНТИТИ CDATA, который не может быть загружен по причине » {1} «.
AADB2C90243 Ключ клиента IDP или секрет настроен неправильно.
AADB2C90244 Сейчас слишком много запросов. Подождите и повторите попытку.
AADB2C90248 Поток-владелец ресурса может использоваться только приложениями, созданными на портале администрирования B2C.
AADB2C90250 Универсальная конечная точка входа не поддерживается.
AADB2C90255 Обмен утверждениями, указанный в техническом профиле » {0} «, не был завершен должным образом. Возможно, вы захотите попробовать начать сеанс с самого начала.
AADB2C90261 При обмене утверждениями » {0} «, указанном на шаге » {1} «, возвращен ответ об ошибке HTTP, который не удалось проанализировать.
AADB2C90272 В запросе не указан параметр id_token_hint. Укажите токен и повторите попытку.
AADB2C90273 Получен недопустимый ответ: » {0} «
AADB2C90274 В метаданных поставщика не указана одна служба выхода, или привязка конечной точки не является одним из «urn: Oasis: Names: TC: SAML: 2.0: Bindings: HTTP-redirect» или «urn: Oasis: Names: TC: SAML: 2.0: Bindings: HTTP-POST».
AADB2C90276 Запрос не согласуется с параметром управления » {0} «: » {1} » в техническом профиле » {2} » для политики » {3} Клиент» {4} «.
AADB2C90277 Этап оркестрации » {0} » пути взаимодействия пользователя » {1} » политики » {2} » не содержит ссылку на определение содержимого.
AADB2C90279 Указанный идентификатор клиента » {0} » не совпадает с идентификатором клиента, который выдал Грант.
AADB2C90284 Приложению с идентификатором » {0} » не было предоставлено согласие, и его нельзя использовать для локальных учетных записей.
AADB2C90285 Приложение с идентификатором » {0} » не найдено.
AADB2C90288 UserJourney с идентификатором » {0} «, указанный в техническом профиле » {1} » для активации токена обновления для клиента » {2} «, не существует в политике » {3} » или в ее базовых политиках.
AADB2C90289 Произошла ошибка при подключении к поставщику удостоверений. Повторите попытку позже.
AADB2C90296 Приложение настроено неправильно. Обратитесь к администратору сайта, к которому вы пытаетесь получить доступ.
AADB2C99005 Запрос содержит недопустимый параметр области, который содержит недопустимый символ » {0} «.
AADB2C99006 Azure AD B2C не удается найти приложение расширений с идентификатором приложения » {0} «. https://go.microsoft.com/fwlink/?linkid=851224Дополнительные сведения см. по адресу.
AADB2C99011 Значение метаданных » {0} » не указано в техническом профиле » {1} » в политике » {2} «.
AADB2C99013 Указанная комбинация grant_type [ {0} ] и TOKEN_TYPE [ {1} ] не поддерживается.
AADB2C99015 В профиле » {0} » в политике «» {1} в клиенте » {2} » отсутствуют все inputclaim, необходимые для потока учетных данных для пароля владельца ресурса.

When authentication fails while using Active Directory with your dotCMS LDAP configuration, Active Directory returns its own error codes to indicate the reason for the failure; you must retrieve and handle or display these errors appropriately. Below are some of the most common errors you may receive, including example error messages and reasons for the error.

525 — user not found

Returned when an invalid username is supplied.

80090308: LdapErr: DSID-0C09030B, comment: AcceptSecurityContext error, data 525, v893
HEX: 0x525 - user not found
DEC: 1317 - ERROR_NO_SUCH_USER (The specified account does not exist.)

52e — invalid credentials

Returned when a valid username is supplied but an invalid password/credential is supplied. If this error is received, it will prevent most other errors from being displayed.

80090308: LdapErr: DSID-0C09030B, comment: AcceptSecurityContext error, data 52e, v893
HEX: 0x52e - invalid credentials
DEC: 1326 - ERROR_LOGON_FAILURE (Logon failure: unknown user name or bad password.)

530 — not permitted to logon at this time

Returned when a valid username and password/credential are supplied during times when login is restricted.

80090308: LdapErr: DSID-0C09030B, comment: AcceptSecurityContext error, data 530, v893
HEX: 0x530 - not permitted to logon at this time
DEC: 1328 - ERROR_INVALID_LOGON_HOURS (Logon failure: account logon time restriction violation.)

531 — not permitted to logon from this workstation

Returned when a valid username and password/credential are supplied, but the user is restriced from using the workstation where the login was attempted.

80090308: LdapErr: DSID-0C09030B, comment: AcceptSecurityContext error, data 531, v893
HEX: 0x531 - not permitted to logon from this workstation
DEC: 1329 - ERROR_INVALID_WORKSTATION (Logon failure: user not allowed to log on to this computer.)
LDAP[userWorkstations: <multivalued list of workstation names>]

532 — password expired

Returned when a valid username is supplied, and the supplied password is valid but expired.

80090308: LdapErr: DSID-0C09030B, comment: AcceptSecurityContext error, data 532, v893
HEX: 0x532 - password expired
DEC: 1330 - ERROR_PASSWORD_EXPIRED (Logon failure: the specified account password has expired.)
LDAP[userAccountControl: <bitmask=0x00800000>] - PASSWORDEXPIRED

533 — account disabled

Returned when a valid username and password/credential are supplied but the account has been disabled.

80090308: LdapErr: DSID-0C09030B, comment: AcceptSecurityContext error, data 533, v893
HEX: 0x533 - account disabled
DEC: 1331 - ERROR_ACCOUNT_DISABLED (Logon failure: account currently disabled.)
LDAP[userAccountControl: <bitmask=0x00000002>] - ACCOUNTDISABLE

701 — account expired

Returned when a valid username and password/credential are supplied but the account has expired.

80090308: LdapErr: DSID-0C09030B, comment: AcceptSecurityContext error, data 701, v893
HEX: 0x701 - account expired
DEC: 1793 - ERROR_ACCOUNT_EXPIRED (The user's account has expired.)
LDAP[accountExpires: <value of -1, 0, or extemely large value indicates account will not expire>] - ACCOUNTEXPIRED

773 — user must reset password

Returned when a valid username and password/credential are supplied, but the user must change their password immediately (before logging in for the first time, or after the password was reset by an administrator).

80090308: LdapErr: DSID-0C09030B, comment: AcceptSecurityContext error, data 773, v893
HEX: 0x773 - user must reset password
DEC: 1907 - ERROR_PASSWORD_MUST_CHANGE (The user's password must be changed before logging on the first time.)
LDAP[pwdLastSet: <value of 0 indicates admin-required password change>] - MUST_CHANGE_PASSWD

775 — account locked out

Returned when a valid username is supplied, but the account is locked out. Note that this error will be returned regardless of whether or not the password is invalid.

80090308: LdapErr: DSID-0C09030B, comment: AcceptSecurityContext error, data 775, v893
HEX: 0x775 - account locked out
DEC: 1909 - ERROR_ACCOUNT_LOCKED_OUT (The referenced account is currently locked out and may not be logged on to.)
LDAP[userAccountControl: <bitmask=0x00000010>] - LOCKOUT

Один из механизмов Active Directory (AD), с которым могут быть связаны всевозможные затруднения, это репликация. Репликация – критически важный процесс в работе одного или более доменов или контроллеров домена (DC), и не важно, находятся они на одном сайте или на разных. Неполадки с репликацией могут привести к проблемам с аутентификацией и доступом к сетевым ресурсам. Обновления объектов AD реплицируются на контроллеры домена, чтобы все разделы были синхронизированы. В крупных компаниях использование большого количества доменов и сайтов – обычное дело. Репликация должна происходить внутри локального сайта, так же как дополнительные сайты должны сохранять данные домена и леса между всеми DC.

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

  • Error 2146893022 (главное конечное имя неверно);
  • Error 1908 (не удалось найти контроллер домена);
  • Error 8606 (недостаточно атрибутов для создания объекта);
  • Error 8453 (доступ к репликации отвергнут).

Вы также узнаете, как анализировать метаданные репликации с помощью таких инструментов, как AD Replication Status Tool, встроенная утилита командной строки RepAdmin.exe и Windows PowerShell.

Для всестороннего рассмотрения я буду использовать лес Contoso, который показан на рисунке. В таблице 1 перечислены роли, IP-адреса и настройки DNS-клиента для компьютеров данного леса.

Архитектура леса
Рисунок. Архитектура леса

Роли системы и настройки

Для обнаружения неполадок с репликацией AD запустите AD Replication Status Tool на рабочей станции администратора в корневом домене леса. Например, вы открываете этот инструмент из системы Win8Client, а затем нажимаете кнопку Refresh Replication Status для уверенности в четкой коммуникации со всеми контроллерами домена. В таблице Discovery Missing Domain Controllers на странице Configuration/Scope Settings инструмента можно увидеть два недостающих контроллера домена, как показано на экране 1.

Два недостающих контроллера домена
Экран 1. Два недостающих контроллера домена

В таблице Replication Status Collection Details вы можете проследить статус репликации контроллеров домена, которые никуда не пропадали, как показано на экране 2.

Статус репликации контроллеров домена
Экран 2. Статус репликации контроллеров домена

Пройдя на страницу Replication Status Viewer, вы обнаружите некоторые ошибки в репликации. На экране 3 видно, что возникает немалое число ошибок репликации, возникающих в лесу Contoso. Из пяти контроллеров домена два не могут видеть другие DC, а это означает, что репликация не будет происходить на контроллерах домена, которые не видны. Таким образом, пользователи, подключающиеся к дочерним DC, не будут иметь доступ к самой последней информации, что может привести к проблемам.

Ошибки репликации, возникающие в лесу Contoso
Экран 3. Ошибки репликации, возникающие в лесу Contoso

Поскольку ошибки репликации все же возникают, полезно задействовать утилиту командной строки RepAdmin.exe, которая помогает получить отчет о состоянии репликации по всему лесу. Чтобы создать файл, запустите следующую команду из Cmd.exe:

Repadmin /showrel * /csv > ShowRepl.csv

Проблема с двумя DC осталась, соответственно вы увидите два вхождения LDAP error 81 (Server Down) Win32 Err 58 на экране, когда будет выполняться команда. Мы разберемся с этими ошибками чуть позже. А теперь откройте ShowRepl.csv в Excel и выполните следующие шаги:

  1. Из меню Home щелкните Format as table и выберите один из стилей.
  2. Удерживая нажатой клавишу Ctrl, щелкните столбцы A (Showrepl_COLUMNS) и G (Transport Type). Правой кнопкой мыши щелкните в этих столбцах и выберите Hide.
  3. Уменьшите ширину остальных столбцов так, чтобы был виден столбец K (Last Failure Status).
  4. Для столбца I (Last Failure Time) нажмите стрелку вниз и отмените выбор 0.
  5. Посмотрите на дату в столбце J (Last Success Time). Это последнее время успешной репликации.
  6. Посмотрите на ошибки в столбце K (Last Failure Status). Вы увидите те же ошибки, что и в AD Replication Status Tool.

Таким же образом вы можете запустить средство RepAdmin.exe из PowerShell. Для этого сделайте следующее:

1. Перейдите к приглашению PowerShell и введите команду

Repadmin /showrepl * /csv | ConvertFrom-Csv | Out-GridView

2. В появившейся сетке выберите Add Criteria, затем Last Failure Status и нажмите Add.

3. Выберите подчеркнутое слово голубого цвета contains в фильтре и укажите does not equal.

4. Как показано на экране 4, введите 0 в поле, так, чтобы отфильтровывалось все со значением 0 (успех) и отображались только ошибки.

Задание фильтра
Экран 4. Задание фильтра

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

Исправление ошибки AD Replication Error -2146893022

Итак, начнем с устранения ошибки -2146893022, возникающей между DC2 и DC1. Из DC1 запустите команду Repadmin для проверки статуса репликации DC2:

Repadmin /showrepl dc2

На экране 5 показаны результаты, свидетельствующие о том, что репликация перестала выполняться, поскольку возникла проблема с DC2: целевое основное имя неверно. Тем не менее, описание ошибки может указать ложный путь, поэтому приготовьтесь копать глубже.

Проблема с DC2 - целевое основное имя неверно
Экран 5. Проблема с DC2 — целевое основное имя неверно

Во-первых, следует определить, есть ли базовое подключение LDAP между системами. Для этого запустите следующую команду из DC2:

Repadmin /bind DC1

На экране 5 видно, что вы получаете сообщение об ошибке LDAP. Далее попробуйте инициировать репликацию AD с DC2 на DC1:

Repadmin /replicate dc2 dc1 «dc=root,dc=contoso,dc=com»

И на этот раз отображается та же ошибка с главным именем, как показано на экране 5. Если открыть окно Event Viewer на DC2, вы увидите событие с Event ID 4 (см. экран 6).

Сообщение о событии с Event ID 4
Экран 6. Сообщение о событии с Event ID 4

Выделенный текст в событии указывает на причину ошибки. Это означает, что пароль учетной записи компьютера DC1 отличается от пароля, который хранится в AD для DC1 в Центре распределения ключей – Key Distribution Center (KDC), который в данном случае запущен на DC2. Значит, следующая наша задача – определить, соответствует ли пароль учетной записи компьютера DC1 тому, что хранится на DC2. В командной строке на DC1 введите две команды:

Repadmin /showobjmeta dc1 «cn=dc1,ou=domain controllers,

dc=root,dc=contoso,dc=com» > dc1objmeta1.txt
Repadmin /showobjmeta dc2 «cn=dc1,ou=domain controllers,

dc=root,dc=contoso,dc=com» > dc1objmeta2.txt

Далее откройте файлы dc1objmeta1.txt и dc1objmeta2.txt, которые были созданы, и посмотрите на различия версий для dBCSPwd, UnicodePWD, NtPwdHistory, PwdLastSet и lmPwdHistory. В нашем случае файл dc1objmeta1.txt показывает версию 19, тогда как версия в файле dc1objmeta2.txt – 11. Таким образом, сравнивая эти два файла, мы видим, что DC2 содержит информацию о старом пароле для DC1. Операция Kerberos не удалась, потому что DC1 не смог расшифровать билет службы, представленный DC2.

KDC, запущенный на DC2, не может быть использован для Kerberos вместе с DC1, так как DC2 содержит информацию о старом пароле. Чтобы решить эту проблему, вы должны заставить DC2 использовать KDC на DC1, чтобы завершить репликацию. Для этого вам, в первую очередь, необходимо остановить службу KDC на DC2:

Net stop kdc

Теперь требуется начать репликацию корневого раздела Root:

Repadmin /replicate dc2 dc1 «dc=root,dc=contoso,dc=com»

Следующим вашим шагом будет запуск двух команд Repadmin /showobjmeta снова, чтобы убедиться в том, что версии совпадают. Если все хорошо, вы можете перезапустить службу KDC:

Net start kdc

Обнаружение и устранение ошибки AD Replication Error 1908

Теперь, когда мы устранили ошибку -2146893022, давайте перейдем к ошибке репликации AD 1908, где DC1, DC2 и TRDC1 так и не удалось выполнить репликацию из ChildDC1. Решить проблему можно следующим образом. Используйте Nltest.exe для создания файла Netlogon.log, чтобы выявить причину ошибки 1908. Прежде всего, включите расширенную регистрацию на DC1, запустив команду:

Nltest /dbflag:2080fff

Теперь, когда расширенная регистрация включена, запустите репликацию между DC – так все ошибки будут зарегистрированы. Этот шаг поможет запустить три команды для воспроизведения ошибок. Итак, во-первых, запустите следующую команду на DC1:

Repadmin /replicate dc1 childdc1 dc=child,dc=root,
dc=contoso,dc=com

Результат, показанный на экране 7, говорит о том, что репликация не состоялась, потому что DC домена не может быть найден.

Репликация не состоялась, потому что DC домена не может быть найден
Экран 7. Репликация не состоялась, потому что DC домена не может быть найден

Во-вторых, из DC1 попробуйте определить местоположение KDC в домене child.root.contoso.com с помощью команды:

Nltest /dsgetdc:child /kdc

Результаты на экране 7 свидетельствуют, что такого домена нет. В-третьих, поскольку вы не можете найти KDC, попытайтесь установить связь с любым DC в дочернем домене, используя команду:

Nltest /dsgetdc:child

В очередной раз результаты говорят о том, что нет такого домена, как показано на экране 7.

Теперь, когда вы воспроизвели все ошибки, просмотрите файл Netlogon.log, созданный в папке C:Windowsdebug. Откройте его в «Блокноте» и найдите запись, которая начинается с DSGetDcName function called. Обратите внимание, что записей с таким вызовом будет несколько. Вам нужно найти запись, имеющую те же параметры, что вы указали в команде Nltest (Dom:child и Flags:KDC). Запись, которую вы ищете, будет выглядеть так:

DSGetDcName function called: client PID=2176,
Dom:child Acct:(null) Flags:KDC

Вы должны просмотреть начальную запись, равно как и последующие, в этом потоке. В таблице 2 представлен пример потока 3372. Из этой таблицы следует, что поиск DNS записи KDC SRV в дочернем домене был неудачным. Ошибка 1355 указывает, что заданный домен либо не существует, либо к нему невозможно подключиться.

Пример потока 3372

Поскольку вы пытаетесь подключиться к Child.root.contoso.com, следующий ваш шаг – выполнить для него команду ping из DC1. Скорее всего, вы получите сообщение о том, что хост не найден. Информация из файла Netlogon.log и ping-тест указывают на возможные проблемы в делегировании DNS. Свои подозрения вы можете проверить, сделав тест делегирования DNS. Для этого выполните следующую команду на DC1:

Dcdiag /test:dns /dnsdelegation > Dnstest.txt

На экране 8 показан пример файла Dnstest.txt. Как вы можете заметить, это проблема DNS. Считается, что IP-адрес 192.168.10.1 – адрес для DC1.

Пример файла Dnstest.txt
Экран 8. Пример файла Dnstest.txt

Чтобы устранить проблему DNS, сделайте следующее:

1. На DC1 откройте консоль управления DNS.

2. Разверните Forward Lookup Zones, разверните root.contoso.com и выберите child.

3. Щелкните правой кнопкой мыши (как в родительской папке) на записи Name Server и выберите пункт Properties.

4. Выберите lamedc1.child.contoso.com и нажмите кнопку Remove.

5. Выберите Add, чтобы можно было добавить дочерний домен сервера DNS в настройки делегирования.

6. В окне Server fully qualified domain name (FQDN) введите правильный сервер childdc1.child.root.contoso.com.

7. В окне IP Addresses of this NS record введите правильный IP-адрес 192.168.10.11.

8. Дважды нажмите кнопку OK.

9. Выберите Yes в диалоговом окне, где спрашивается, хотите ли вы удалить связующую запись (glue record) lamedc1.child.contoso.com [192.168.10.1]. Glue record – это запись DNS для полномочного сервера доменных имен для делегированной зоны.

10. Используйте Nltest.exe для проверки, что вы можете найти KDC в дочернем домене. Примените опцию /force, чтобы кэш Netlogon не использовался:

Nltest /dsgetdc:child /kdc /force

11. Протестируйте репликацию AD из ChildDC1 на DC1 и DC2. Это можно сделать двумя способами. Один из них – выполнить команду

Repadmin /replicate dc1 childdc1 «dc=child,dc=root,
dc=contoso,dc=com»

Другой подход заключается в использовании оснастки Active Directory Sites и Services консоли Microsoft Management Console (MMC), в этом случае правой кнопкой мыши щелкните DC и выберите Replicate Now, как показано на экране 9. Вам нужно это сделать для DC1, DC2 и TRDC1.

Использование оснастки Active Directory Sites и?Services
Экран 9. Использование оснастки Active Directory Sites и?Services

После этого вы увидите диалоговое окно, как показано на экране 10. Не учитывайте его, нажмите OK. Я вкратце расскажу об этой ошибке.

Ошибка при репликации
Экран 10. Ошибка при репликации

Когда все шаги выполнены, вернитесь к AD Replication Status Tool и обновите статус репликации на уровне леса. Ошибки 1908 больше быть не должно. Ошибка, которую вы видите, это ошибка 8606 (недостаточно атрибутов для создания объекта), как отмечалось на экране 10. Это следующая трудность, которую нужно преодолеть.

Устранение ошибки AD Replication Error 8606

Устаревший объект (lingering object) – это объект, который присутствует на DC, но был удален на одном или нескольких других DC. Ошибка репликации AD 8606 и ошибка 1988 в событиях Directory Service – хорошие индикаторы устаревших объектов. Важно учитывать, что можно успешно завершить репликацию AD и не регистрировать ошибку с DC, содержащего устаревшие объекты, поскольку репликация основана на изменениях. Если объекты не изменяются, то реплицировать их не нужно. По этой причине, выполняя очистку устаревших объектов, вы допускаете, что они есть у всех DC (а не только DCs logging errors).

Чтобы устранить проблему, в первую очередь убедитесь в наличии ошибки, выполнив следующую команду Repadmin на DC1:

Repadmin /replicate dc1 dc2 «dc=root,dc=contoso,dc=com»

Вы увидите сообщение об ошибке, как показано на экране 11. Кроме того, вы увидите событие с кодом в Event Viewer DC1 (см. экран 12). Обратите внимание, что событие с кодом 1988 только дает отчет о первом устаревшем объекте, который вам вдруг встретился. Обычно таких объектов много.

Ошибка из-за наличия устаревшего объекта
Экран 11. Ошибка из-за наличия устаревшего объекта
Событие с кодом 1988
Экран 12. Событие с кодом 1988

Вы должны скопировать три пункта из информации об ошибке 1988 в событиях: идентификатор globally unique identifier (GUID) устаревшего объекта, сервер-источник (source DC), а также уникальное, или различающееся, имя раздела – distinguished name (DN). Эта информация позволит определить, какой DC имеет данный объект.

Прежде всего, используйте GUID объекта (в данном случае 5ca6ebca-d34c-4f60-b79c-e8bd5af127d8) в следующей команде Repadmin, которая отправляет результаты в файл Objects.txt:

Repadmin /showobjmeta * «e8bd5af127d8>» > Objects.txt

Если вы откроете файл Objects.txt, то увидите, что любой DC, который возвращает метаданные репликации для данного объекта, содержит один или более устаревших объектов. DC, не имеющие копии этого объекта, сообщают статус 8439 (уникальное имя distinguished name, указанное для этой операции репликации, недействительно).

Затем вам нужно, используя GUID объект Directory System Agent (DSA) DC1, идентифицировать все устаревшие объекты в разделе Root на DC2. DSA предоставляет доступ к физическому хранилищу информации каталога, находящейся на жестком диске. В AD DSA – часть процесса Local Security Authority. Для этого выполните команду:

Repadmin /showrepl DC1 > Showrepl.txt

В Showrepl.txt GUID объект DSA DC1 появляется вверху файла и выглядит следующим образом:

DSA object GUID: 70ff33ce-2f41-4bf4-b7ca-7fa71d4ca13e

Ориентируясь на эту информацию, вы можете применить следующую команду, чтобы удостовериться в существовании устаревших объектов на DC2, сравнив его копию раздела Root с разделом Root DC1.

Repadmin /removelingeringobjects DC2 70ff33ce-2f41-4bf4-
b7ca-7fa71d4ca13e «dc=root,dc=contoso,dc=com»
/Advisory_mode

Далее вы можете просмотреть журнал регистрации событий Directory Service на DC2, чтобы узнать, есть ли еще какие-нибудь устаревшие объекты. Если да, то о каждом будет сообщаться в записи события 1946. Общее число устаревших объектов для проверенного раздела будет отмечено в записи события 1942.

Вы можете удалить устаревшие объекты несколькими способами. Предпочтительно использовать ReplDiag.exe. В качестве альтернативы вы можете выбрать RepAdmin.exe.

Используем ReplDiag.exe. С вашей рабочей станции администратора в корневом домене леса, а в нашем случае это Win8Client, вы должны выполнить следующие команды:

Repldiag /removelingeringobjects
Repadmin /replicate dc1 dc2 «dc=root,dc=contoso,dc=com»

Первая команда удаляет объекты. Вторая команда служит для проверки успешного завершения репликации (иными словами, ошибка 8606 больше не регистрируется). Возвращая команды Repadmin /showobjmeta, вы можете убедиться в том, что объект был удален из всех, что объект был удален DC. Если у вас есть контроллер только для чтения read-only domain controller (RODC) и он содержал данный устаревший объект, вы заметите, что он все еще там находится. Дело в том, что текущая версия ReplDiag.exe не удаляет объекты из RODC. Для очистки RODC (в нашем случае, ChildDC2) выполните команду:

Repadmin /removelingeringobjects childdc2.child.root.
contoso.com 70ff33ce-2f41-4bf4-b7ca-7fa71d4ca13e
«dc=root,dc=contoso,dc=com» /Advisory_mode

После этого просмотрите журнал событий Directory Service на ChildDC2 и найдите событие с кодом 1939. На экране 13 вы видите уведомление о том, что устаревшие объекты были удалены.

Сообщение об удалении устаревших объектов
Экран 13. Сообщение об удалении устаревших объектов

Используем RepAdmin.exe. Другой способ, позволяющий удалить устаревшие объекты – прибегнуть к помощи RepAdmin.exe. Сначала вы должны удалить устаревшие объекты главных контроллеров домена (reference DC) с помощью кода, который видите в листинге 1. После этого необходимо удалить устаревшие объекты из всех остальных контроллеров домена (устаревшие объекты могут быть показаны или на них могут обнаружиться ссылки на нескольких контроллерах домена, поэтому убедитесь, что вы удалили их все). Необходимые для этой цели команды приведены в листинге 2.

Как видите, использовать ReplDiag.exe гораздо проще, чем RepAdmin.exe, поскольку вводить команд вам придется намного меньше. Ведь чем больше команд, тем больше шансов сделать опечатку, пропустить команду или допустить ошибку в командной строке.

Устранение ошибки AD Replication Error 8453

Предыдущие ошибки репликации AD были связаны с невозможностью найти другие контроллеры домена. Ошибка репликации AD с кодом состояния 8453 возникает, когда контроллер домена видит другие DC, но не может установить с ними связи репликации.

Например, предположим, что ChildDC2 (RODC) в дочернем домене не уведомляет о себе как о сервере глобального каталога – Global Catalog (GC). Для получения статуса ChildDC2 запустите следующие команды на ChildDC2:

Repadmin /showrepl childdc2 > Repl.txt

Данная команда отправляет результаты Repl.txt. Если вы откроете этот текстовый файл, то увидите вверху следующее:

BoulderChildDC2
DSA Options: IS_GC DISABLE_OUTBOUND_REPL IS_RODC
WARNING: Not advertising as a global catalog

Если вы внимательно посмотрите на раздел Inbound Neighbors, то увидите, что раздел DC=treeroot,DC=fabrikam,DC=com отсутствует, потому что он не реплицируется. Взгляните на кнопку файла – вы увидите ошибку:

Source: BoulderTRDC1
******* 1 CONSECTUTIVE FAILURES since 2014-01-12 11:24:30
Last error: 8453 (0x2105):
Replication access was denied
Naming Context: DC=treeroot,DC=fabrikam,DC=com

Эта ошибка означает, что ChildDC2 не может добавить связь репликации (replication link) для раздела Treeroot. Как показано на экране 14, данная ошибка также записывается в журнал регистрации событий Directory Services на ChildDC2 как событие с кодом 1926.

Отсутствие связи репликации
Экран 14. Отсутствие связи репликации

Здесь вам нужно проверить, нет ли проблем, связанных с безопасностью. Для этого используйте DCDiag.exe:

Dcdiag /test:checksecurityerror

На экране 15 показан фрагмент вывода DCDiag.exe.

Фрагмент вывода DCDiag.exe
Экран 15. Фрагмент вывода DCDiag.exe

Как видите, вы получаете ошибку 8453, потому что группа безопасности Enterprise Read-Only Domain Controllers не имеет разрешения Replicating Directory Changes.

Чтобы решить проблему, вам нужно добавить отсутствующую запись контроля доступа – missing access control entry (ACE) в раздел Treeroot. В этом вам помогут следующие шаги:

1. На TRDC1 откройте оснастку ADSI Edit.

2. Правой кнопкой мыши щелкните DC=treeroot,DC=fabrikam,DC=com и выберите Properties.

3. Выберите вкладку Security.

4. Посмотрите разрешения на этот раздел. Отметьте, что нет записей для группы безопасности Enterprise Read-Only Domain Controllers.

5. Нажмите Add.

6. В окне Enter the object names to select наберите ROOTEnterprise Read-Only Domain Controllers.

7. Нажмите кнопку Check Names, затем выберите OK, если указатель объектов (object picker) разрешает имя.

8. В диалоговом окне Permissions для Enterprise Read-Only Domain Controllers снимите флажки Allow для следующих разрешений

*Read

*Read domain password & lockout policies («Чтение политики блокировки и пароля домена»)

*Read Other domain parameters

9. Выберите флажок Allow для разрешения Replicating Directory Changes, как показано на экране 16. Нажмите OK.

10. Вручную запустите Knowledge Consistency Checker (KCC), чтобы немедленно сделать перерасчет топологии входящей репликации на ChildDC2, выполнив команду

Repadmin /kcc childdc2
Включение разрешения Replicating Directory Change
Экран 16. Включение разрешения Replicating Directory Change

Данная команда заставляет KCC на каждом целевом сервере DC незамедлительно делать перерасчет топологии входящей репликации, добавляя снова раздел Treeroot.

Состояние репликации критически важно

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

Листинг 1. Команды для удаления устаревших объектов из Reference DC

REM Команды для удаления устаревших объектов
REM из раздела Configuration.
Repadmin /removelingeringobjects childdc1.child.root.
contoso.com 70ff33ce-2f41-4bf4-b7ca-7fa71d4ca13e
«cn=configuration,dc=root,dc=contoso,dc=com»
Repadmin /removelingeringobjects childdc1.child.root.
contoso.com 3fe45b7f-e6b1-42b1-bcf4-2561c38cc3a6
«cn=configuration,dc=root,dc=contoso,dc=com»
Repadmin /removelingeringobjects childdc1.child.root.
contoso.com 0b457f73-96a4-429b-ba81-1a3e0f51c848
«cn=configuration,dc=root,dc=contoso,dc=com»
REM Команды для удаления устаревших объектов
REM из раздела ForestDNSZones.
Repadmin /removelingeringobjects childdc1.child.root.
contoso.com 70ff33ce-2f41-4bf4-b7ca-7fa71d4ca13e
«dc=forestdnszones,dc=root,dc=contoso,dc=com»
Repadmin /removelingeringobjects childdc1.child.root.
contoso.com 3fe45b7f-e6b1-42b1-bcf4-2561c38cc3a6
«dc=forestdnszones,dc=root,dc=contoso,dc=com»
Repadmin /removelingeringobjects childdc1.child.
root.contoso.com 0b457f73-96a4-429b-ba81-
1a3e0f51c848 «dc=forestdnszones,dc=root,
dc=contoso,dc=com»
REM Команды для удаления устаревших объектов
REM из раздела домена Root.
Repadmin /removelingeringobjects dc1.root.
contoso.com 3fe45b7f-e6b1-42b1-bcf4-2561c38cc3a6
«dc=root,dc=contoso,dc=com»
REM Команды для удаления устаревших объектов
REM из раздела DomainDNSZones.
Repadmin /removelingeringobjects dc1.root.
contoso.com 3fe45b7f-e6b1-42b1-bcf4-2561c38cc3a6
«dc=root,dc=contoso,dc=com»

Листинг 2. Команды для удаления устаревших объектов из остальных DC

REM Команды для удаления устаревших объектов
REM из раздела Configuration.
Repadmin /removelingeringobjects dc1.root.
contoso.com 0c559ee4-0adc-42a7-8668-e34480f9e604
«cn=configuration,dc=root,dc=contoso,dc=com»
Repadmin /removelingeringobjects dc2.root.
contoso.com 0c559ee4-0adc-42a7-8668-e34480f9e604
«cn=configuration,dc=root,dc=contoso,dc=com»
Repadmin /removelingeringobjects childdc2.child.root.
contoso.com 0b457f73-96a4-429b-ba81-1a3e0f51c848
«cn=configuration,dc=root,dc=contoso,dc=com»
Repadmin /removelingeringobjects trdc1.treeroot.
fabrikam.com 0c559ee4-0adc-42a7-8668-e34480f9e604
«cn=configuration,dc=root,dc=contoso,dc=com»
REM Команды для удаления устаревших объектов
REM из раздела ForestDNSZones.
Repadmin /removelingeringobjects dc1.root.contoso.
com 0c559ee4-0adc-42a7-8668-e34480f9e604
«dc=forestdnszones,dc=root,dc=contoso,dc=com»
Repadmin /removelingeringobjects dc2.root.contoso.
com 0c559ee4-0adc-42a7-8668-e34480f9e604
«dc=forestdnszones,dc=root,dc=contoso,dc=com»
Repadmin /removelingeringobjects childdc2.child.root.
contoso.com 0b457f73-96a4-429b-ba81-1a3e0f51c848
«dc=forestdnszones,dc=root,dc=contoso,dc=com»
Repadmin /removelingeringobjects trdc1.treeroot.
fabrikam.com 0c559ee4-0adc-42a7-8668-e34480f9e604
«dc=forestdnszones,dc=root,dc=contoso,dc=com»
REM Команды для удаления устаревших объектов
REM из раздела DomainDNSZones–Root.
Repadmin /removelingeringobjects dc2.child.root.
contoso.com 70ff33ce-2f41-4bf4-b7ca-7fa71d4ca13e
«dc=domaindnszones,dc=root,dc=contoso,dc=com»
REM Команды для удаления устаревших объектов
REM из раздела домена Child.
Repadmin /removelingeringobjects dc1.root.contoso.
com 0c559ee4-0adc-42a7-8668-e34480f9e604
«dc=child,dc=root,dc=contoso,dc=com»
Repadmin /removelingeringobjects dc2.root.contoso.
com 0c559ee4-0adc-42a7-8668-e34480f9e604
«dc=child,dc=root,dc=contoso,dc=com»
Repadmin /removelingeringobjects childdc2.child.root.
contoso.com 0b457f73-96a4-429b-ba81-1a3e0f51c848
«dc=child,dc=root,dc=contoso,dc=com»
Repadmin /removelingeringobjects trdc1.treeroot.
fabrikam.com 0c559ee4-0adc-42a7-8668-e34480f9e604
«dc=child,dc=root,dc=contoso,dc=com»
REM Команды для удаления устаревших объектов
REM из раздела DomainDNSZones-Child.
Repadmin /removelingeringobjects childdc2.child.root.
contoso.com 0c559ee4-0adc-42a7-8668-e34480f9e604
«dc=domaindnszones,dc=child,dc=root,dc=contoso,dc=com»
REM Команды для удаления устаревших объектов
REM из раздела домена TreeRoot.
Repadmin /removelingeringobjects childdc1.child.root.
contoso.com 0b457f73-96a4-429b-ba81-1a3e0f51c848
«dc=treeroot,dc=fabrikam,dc=com»
Repadmin /removelingeringobjects childdc2.child.root.
contoso.com 0b457f73-96a4-429b-ba81-1a3e0f51c848
«dc=treeroot,dc=fabrikam,dc=com»
Repadmin /removelingeringobjects dc1.root.contoso.com
0b457f73-96a4-429b-ba81-1a3e0f51c848
«dc=treeroot,dc=fabrikam,dc=com»
Repadmin /removelingeringobjects dc2.root.contoso.com
0b457f73-96a4-429b-ba81-1a3e0f51c848
«dc=treeroot,dc=fabrikam,dc=com»

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

После включения аудита необходимо тем или иным способом (например, через Powershell script) проверять логи на интересующие вас Event ID. Обратите внимание, что аудит логи хранятся на ADC очень короткое время, поэтому надо или настроить их экспорт во внешнюю систему или успеть найти нужное событие в реальном времени.

Приведу примерный скрипт, который можно использовать для мониторинга события 4625 в русский версии Windows Server.

$Events = Get-EventLog security -message "*Тип входа:?10*" -after (get-date -hour 0 -minute 0 -second 0) | ?{$_.eventid -eq 4625 }

$Data = New-Object System.Management.Automation.PSObject
$Data | Add-Member NoteProperty Time ($null)
$Data | Add-Member NoteProperty UserName ($null)
$Data | Add-Member NoteProperty Address ($null)

$Events | %{

    $Data.time = $_.TimeGenerated

    $message = $_.message.split("`n") | %{$_.trimstart()} | %{$_.trimend()}

    $Data.UserName = ($message | ?{$_ -like "Пользователь:*"} | %{$_ -replace "^.+:."} )
    $Data.Address = ($message | ?{$_ -like "Адрес сети источника:*"} | %{$_ -replace "^.+:."})

    $data
}

Ниже приводится список событий, которые необходимо мониторить. Трехзначные Event ID соответствуют уровню домена и леса (functional level) 2003.

События в аудит логах контроллеров доменов

Event ID — (Категория) — Описание

1) 675 или 4771
(Аудит событий входа в систему)
Событие 675/4771 на контроллере домена указывает на неудачную попытку войти через Kerberos на рабочей станции с доменной учетной записью. Обычно причиной этого является несоответствующий пароль, но код ошибки указывает, почему именно аутентификация была неудачной. Таблица кодов ошибок Kerberos приведена ниже.

2) 676, или Failed 672 или 4768
(Аудит событий входа в систему)
Событие 676/4768 логгируется для других типов неудачной аутентификации. Таблица кодов Kerberos приведена ниже.
ВНИМАНИЕ: В Windows 2003 Server событие отказа записывается как 672 вместо 676.

3) 681 или Failed 680 или 4776
(Аудит событий входа в систему)
Событие 681/4776 на контроллере домена указывает на неудачную попытку входа в систему через
NTLM с доменной учетной записью. Код ошибки указывает, почему именно аутентификация была неудачной.
Коды ошибок NTLM приведены ниже.
ВНИМАНИЕ: В Windows 2003 Server событие отказа записывается как 680 вместо 681.

4) 642 или 4738
(Аудит управления учетными записями)
Событие 642/4738 указывает на изменения в указанной учетной записи, такие как сброс пароля или активация деактивированной до этого учетной записи. Описание события уточняется в соответствие с типом изменения.

5) 632 или 4728; 636 или 4732; 660 или 4756
(Аудит управления учетными записями)
Все три события указывают на то, что указанный пользователь был добавлен в определенную группу. Обозначены Глобальная (Global), Локальная (Local) и Общая (Universal) соответственно для каждого ID.

6) 624 или 4720
(Аудит управления учетными записями)
Была создана новая учетная запись пользователя

7) 644 или 4740
(Аудит управления учетными записями)
Учетная запись указанного пользователя была заблокирована после нескольких попыток входа

8)  517 или 1102
(Аудит системных событий)
Указанный пользователь очистил журнал безопасности

Локальные события. Вход и выход из системы (Logon/Logoff)

Event Id — Описание

528 или 4624 — Успешный вход в систему
529 или 4625 — Отказ входа в систему – Неизвестное имя пользователя или неверный пароль
530 или 4625 Отказ входа в систему – Вход в систему не был осуществлен в течение обозначенного периода времени
531 или 4625 — Отказ входа в систему – Учетная запись временно деактивирована
532 или 4625 — Отказ входа в систему – Срок использования указанной учетной записи истек
533 или 4625 — Отказ входа в систему – Пользователю не разрешается осуществлять вход в систему на данном компьютере
534 или 4625 или 5461 — Отказ входа в систему – Пользователь не был разрешен запрашиваемый тип входа на данном компьютере
535 или 4625 — Отказ входа в систему – Срок действия пароля указанной учетной записи истек
539 или 4625 — Отказ входа в систему – Учетная запись заблокирована
540 или 4624 — Успешный сетевой вход в систему (Только Windows 2000, XP, 2003)

Типы входов в систему (Logon Types)

Тип входа в систему — Описание

2 — Интерактивный (вход с клавиатуры или экрана системы)
3 — Сетевой (например, подключение к общей папке на этом компьютере из любого места в сети или IIS вход — Никогда не заходил 528 на Windows Server 2000 и выше. См. событие 540)
4 — Пакет (batch) (например, запланированная задача)
5 — Служба (Запуск службы)
7 — Разблокировка (например, необслуживаемая рабочая станция с защищенным паролем скринсейвером)
8 — NetworkCleartext (Вход с полномочиями (credentials), отправленными в виде простого текст. Часто обозначает вход в IIS с “базовой аутентификацией”)
9 — NewCredentials
10 — RemoteInteractive (Терминальные службы, Удаленный рабочий стол или удаленный помощник)
11 — CachedInteractive (вход с кешированными доменными полномочиями, например, вход на рабочую станцию, которая находится не в сети)

Коды отказов Kerberos

Код ошибки — Причина

6 — Имя пользователя не существует
12 — Ограничение рабочей машины; ограничение времени входа в систему
18 — Учетная запись деактивирована, заблокирована или истек срок ее действия
23 — Истек срок действия пароля пользователя
24 — Предварительная аутентификация не удалась; обычно причиной является неверный пароль
32 — Истек срок действия заявки. Это нормальное событие, которое логгируется учетными записями компьютеров
37 — Время на рабочей машины давно не синхронизировалось со временем на контроллере домена

Коды ошибок NTLM

Код ошибки (десятичная система) — Код ошибки (16-ричная система) — Описание

3221225572 — C0000064 — Такого имени пользователя не существует
3221225578 — C000006A — Верное имя пользователя, но неверный пароль
3221226036 — C0000234 — Учетная запись пользователя заблокирована
3221225586 — C0000072 — Учетная запись деактивирована
3221225583 — C000006F — Пользователь пытается войти в систему вне обозначенного периода времени (рабочего времени)
3221225584 — C0000070 — Ограничение рабочей станции
3221225875 — C0000193 — Истек срок действия учетной записи
3221225585 — C0000071 — Истек срок действия пароля
3221226020 — C0000224 — Пользователь должен поменять пароль при следующем входе в систему

  • Remove From My Forums
  • Question

  • User-643328355 posted

    Hi All,

    We have an issue with active directory . We are connecting to an active directory using a web page which will change password for users .
    The new password must meet some certain criterias. Those policies are implemented in the active directory.
    The issue is that if a password policy is broken by the new password user is trying,
     active directory is returning only a single error code irrespective of the policy which is broken .

    But what we require is that we need to show different error messages to the user according to the policy broken.
    For example , if the min. length policy of the password is not met, we need to show the user that he  has to meet the min. password length

    requirement. Since active directory is not returning policy specific error codes, we are unable to show customized error messages.
    Can someone  help to solve this issue.

    Thanks .

Понравилась статья? Поделить с друзьями:

Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • Коды ошибок abs скания 4 серии
  • Коды ошибок abs ниссан примера р12
  • Коды ошибок abs маз
  • Коды ошибок abs камаз 5490

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии