Ошибка the administrative limit for this request was exceeded

Ошибка отключения объект AD

Добрый день! Уважаемые гости блога. Многие вещи, любой системный администратор старается автоматизировать и это правильный подход. Ранее я с вами делился скриптом по поиску в Active Directory устаревших объектов компьютеров с последующим отключением с переносом в нужную OU. Просматривая логи данного скрипта я обратил внимание, что попадающий под критерии компьютер не был отключен, хотя уже давно был выведен из эксплуатации. При попытке ручного отключения выскакивала интересная ошибка "Windows cannot disable object". Ниже я подробнее опишу данную проблему и решение.

Ошибка отключения объекта компьютера в Active Directory

Как я писал выше через скрипт поиска неактивных компьютеров Active Directory я получал ошибку на одной учетной записи сервера. Попытавшись через оснастку ADUC в ручном режиме отключить учетную запись я столкнулся с такой ошибкой:

Windows cannot disable object имя компьютера because: The administrative limit for this request was exceeded

Windows cannot disable object имя компьютера because: The administrative limit for this request was exceeded

Если посмотреть на контроллере домена логи в просмотре событий, то там будут два ID:

ID 1175 Internal event: A privileged operation (rights requred - 0x) on object. Failed because a non-security related error occurred.

ID 1175 Internal event: A privileged operation (rights requred - 0x) on object. Failed because a non-security related error occurred

ID 1644 Internal event: A client issued a search operation with the following operations

ID 1644 Internal event: A client issued a search operation with the following operations

Как устранить ошибку

В 99% случаев у данного объекта Active Directory переизбыток информации в одном из атрибутов. Данная учетная запись принадлежала серверу, который выступал как JAMF для клиентов Mac, поэтому какую-то часть информации держал в себе. Самым правильным шагом будет изучить атрибуты. которые заполнены для данной учетной записи компьютера.

Напоминаю, для этого в Active Directory есть замечательный командлет Get-AdComputer, по которому я уже приводил примеры использования.

Для просмотра всех свойств выполните такую команду:

Get-ADComputer -Identity имя сервера -Properties *

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

Вывод значения атрибута userCertificate

 

Атрибут userCertificate в учетной записи компьютера Active Directory используется для хранения сертификатов пользователя или компьютера в формате X.509. Этот атрибут может содержать один или несколько сертификатов, которые могут быть использованы для различных целей.

В PowerShell ISE можете посмотреть сколько всего записей содержит данный атрибут. для этого выполните:

$computerName = "JAMF"

$computer = Get-ADComputer -Identity $computerName -Properties userCertificate

if ($computer.userCertificate) {
$certificateCount = $computer.userCertificate.Count
Write-Host "Количество значений в userCertificate для компьютера '$computerName': $certificateCount"
} else {
Write-Host "Атрибут userCertificate не содержит значений для компьютера '$computerName'."
}

Подсчет количества записей в атрибуте userCertificate

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

Multi-valued- Octer String Editor

Как очистить атрибут userCertificate

Самый простой способ удалить значения атрибута userCertificate, это редактор. Из минусов, это то, что тут нельзя сделать массовую чистку. Для этого нажмите кнопку "Edit", после чего выбираете нужную строку и нажимаете кнопку "Remove". Сохраняем изменения.

Очистка атрибута userCertificate

Хочу отметить из практики, что тут можно все и не удалять, достаточно 5-10 записей, после чего вы сможете уже управлять вашим объектом AD.

Успешное отключение учетной записи компьютера AD

Если хотите удалить все значения с помощью PowerShell, то команды будут такие:

$computer = Get-ADComputer -Identity "JAMF"
Set-ADComputer -Identity $computer -Clear userCertificate

Надеюсь, что это помогло вам решить ошибку "Windows cannot disable object имя компьютера because: The administrative limit for this request was exceeded". С вами был Иван Сёмин, автор и создатель IT портала Pyatilistnik.org.

Оцените статью
Настройка серверов windows и linux
Добавить комментарий