Alexander A Manaeff -

 
 

Как найти заблокированные учетные записи в Microsoft Windows

Все об администрировании Windows NT/2000/2003/2008/2012 Server (в т.ч. R2) серверов. Групповые политики, домены, безопасность и пр. То, чего не найдешь в бескрайних просторах Интернета. Решения тех проблем, которые не решаются типовыми ответами, которые можно получить в техподдержке Майкрософта - а именно: переустановить продукт или купить какой-ть другой лицензионный диск.

Модератор: UncleFather

Как найти заблокированные учетные записи в Microsoft Windows

Сообщение UncleFather » 26 апр 2012 16:01, Чт

Задача:

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


Решение 1:

Можно воспользоваться готовым скриптом PowerShell, запустив его на контроллере домена:
 
Код: Выделить всё
add-pssnapin "Quest.ActiveRoles.ADManagement"
$WshShell = New-Object -ComObject wscript.shell

$Body1 = Get-QADUser -locked 
#$Body1 = $Body1 -replace “;”,”`n” -replace “^”,”`n”
$Body1 = $Body1 | Select name,DN, canonicalName,userPrincipalName, title, displayName,sAMAccountName,givenName,sn, ";"
$Body1 = $Body1 -replace “@{” -replace “}” -replace “=”, “: ” -replace “;:”,"****************************`n" -replace “;”,”`n”
$PopUp = $WshShell.popup("$Body1",0,"Заблокированные учетные записи",1)

$Body1 = Get-QADUser -disabled 
#$Body1 = $Body1 -replace “;”,”`n” -replace “^”,”,”
$Body1 = $Body1 | Select name,userPrincipalName, sAMAccountName, ";"
$Body1 = $Body1 -replace “@{” -replace “}” -replace “=”, “: ” -replace “;:”,"`n"
$PopUp = $WshShell.popup("$Body1",0,"Отключенные учетные записи",1)

$Body1 = Get-QADUser -inactivefor 30 -disabled:$false
#$Body1 = $Body1 -replace “;”,”`n” -replace “^”,”,”
$Body1 = $Body1 | Select name,userPrincipalName, sAMAccountName, ";"
$Body1 = $Body1 -replace “@{” -replace “}” -replace “=”, “: ” -replace “;:”,"`n"
$PopUp = $WshShell.popup("$Body1",0,"Неактивные в течение 30 дней учетные записи",1)

$Body1 = Get-QADUser -inactive -disabled:$false
#$Body1 = $Body1 -replace “;”,”`n” -replace “^”,”,”
$Body1 = $Body1 | Select name,userPrincipalName, sAMAccountName, ";"
$Body1 = $Body1 -replace “@{” -replace “}” -replace “=”, “: ” -replace “;:”,"`n"
$PopUp = $WshShell.popup("$Body1",0,"Неактивные учетные записи",1)

$Body1 = Get-QADUser -deleted
#$Body1 = $Body1 -replace “;”,”`n” -replace “^”,”,”
$Body1 = $Body1 | Select name,userPrincipalName, sAMAccountName, ";"
$Body1 = $Body1 -replace “@{” -replace “}” -replace “=”, “: ” -replace “;:”,"`n"
$PopUp = $WshShell.popup("$Body1",0,"Удаленные учетные записи",1)


Этот скрипт отобразит последовательно пять окон, в которых будут отображены:
  1. Заблокированные учетные записи
  2. Отключенные учетные записи
  3. Неактивные в течение 30 дней, но НЕ отключенные учетные записи
  4. Учетные записи, которые никогда не были активными и при этом НЕ отключены
  5. Удаленные учетные записи

Вариант скрипта, который посылает те же данные на электронную почту:
 
Код: Выделить всё
$Subject = “Информация об аккаунтах:"
$Server = “smtp.domain.ua”
$From = “noreplay@domain.ua”
$To = “it@domain.ua”
$encoding = [System.Text.Encoding]::UTF8

add-pssnapin "Quest.ActiveRoles.ADManagement"

$Body1 = Get-QADUser -locked 
#$Body1 = $Body1 -replace “;”,”`n” -replace “^”,”`n”
$Body1 = $Body1 | Select name,DN, canonicalName,userPrincipalName, title, displayName,sAMAccountName,givenName,sn, ";"
$Body1 = $Body1 -replace “@{” -replace “}” -replace “=”, “: ” -replace “;:”,"****************************`n" -replace “;”,”`n”
$Theme1 = "Заблокированные учетные записи:`n"

$Body2 = Get-QADUser -disabled 
#$Body1 = $Body1 -replace “;”,”`n” -replace “^”,”,”
$Body2 = $Body2 | Select name,userPrincipalName, sAMAccountName, ";"
$Body2 = $Body2 -replace “@{” -replace “}” -replace “=”, “: ” -replace “;:”,"`n"
$Theme2 = "Отключенные учетные записи:`n"

$Body3 = Get-QADUser -inactivefor 30 -disabled:$false
#$Body1 = $Body1 -replace “;”,”`n” -replace “^”,”,”
$Body3 = $Body3 | Select name,userPrincipalName, sAMAccountName, ";"
$Body3 = $Body3 -replace “@{” -replace “}” -replace “=”, “: ” -replace “;:”,"`n"
$Theme3 = "Неактивные в течение 30 дней учетные записи:`n"

$Body4 = Get-QADUser -inactive -disabled:$false
#$Body1 = $Body1 -replace “;”,”`n” -replace “^”,”,”
$Body4 = $Body4 | Select name,userPrincipalName, sAMAccountName, ";"
$Body4 = $Body4 -replace “@{” -replace “}” -replace “=”, “: ” -replace “;:”,"`n"
$Theme4 = "Неактивные учетные записи:`n"

$Body5 = Get-QADUser -deleted
#$Body1 = $Body1 -replace “;”,”`n” -replace “^”,”,”
$Body5 = $Body5 | Select name,userPrincipalName, sAMAccountName, ";"
$Body5 = $Body5 -replace “@{” -replace “}” -replace “=”, “: ” -replace “;:”,"`n"
$Theme5 = "Удаленные учетные записи:`n"

Send-MailMessage -From $From -To $To -SmtpServer $server -Body “$Theme1 $Body1 `n $Theme2 $Body2 `n $Theme3 $Body3 `n $Theme4 $Body4 `n $Theme5 $Body5” -Subject $Subject -Encoding $encoding


Скрипты можно скачать отсюда:
LockedAccounts.rar
(2.15 КБ) Скачиваний: 266


Для выполнения этих скриптов дополнительно необходимо установить на контроллере домена ActiveRoles Management Shell for Active Directory
Это дополнение для 32-х битных систем так же можно скачать здесь.


Решение 2:

Можно просмотреть в журналах MS Windows записи о блокировке учетной записи.

В журнале безопасности, для отслеживания подобных событий, существует запись с кодом 680, от источника Security, категории Account Logon.
Pic1.png
Запись с кодом 680
Pic1.png (71.35 КБ) Просмотров: 4483


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

Но, может так случиться, что таких записей ОГРОМНОЕ множество. И никто не реагирует на них немедленно, а расследует инциденты потом. Пользователи часто ошибаются с вводом пароля. И не существует простого способа определить точное время того, когда аккаунт был заблокирован. Как правило мы узнаем об этом через некоторое время, от самого пользователя.

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

В решении проблемы нам может помочь утилита Microsoft Account Lockout Status
ALaMT.rar
Account Lockout and Management Tools
(949.12 КБ) Скачиваний: 404

которая входит в пакет утилит Account Lockout and Management Tools. Утилита была выпущена еще в 2003 году. Удивительно, что спустя много лет она все еще востребована.

Подробное описание пакета есть здесь.

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

Оригинал статьи

Пример работы с утилитой Account Lockout and Management Tools:

Чтобы получить список заблокированных пользователей, необходимо:
  1. Получить список всех контроллеров домена (Gets All DCs)
  2. Выделить все КД для поиска(Selects all DCs for searching)
  3. Отметить "Журнал безопасности" (Selects the Security Log)
  4. Отметить "Аудит успехов" и "Аудит отказов" (Selects Success and Failure Audits)
  5. Указать специфические коды событий "529", "539" и "644" (Sets the Specific IDs to 529 539 644)
Accs1.JPG


В результате выполнения откроется папка с обработанными журналами. Каждому серверу соответствует свой журнал: SRV02-Security_LOG.txt - для сервера "SRV02".

Открываем обработанный журнал, и видим:
Accs.JPG


В этой выборке просматривать информацию о необходимом нам событии блокировки учетной записи.
Аватара пользователя
UncleFather
Site Admin
 
Сообщения: 1256
Зарегистрирован: 17 авг 2004 17:20, Вт

Вернуться в Администрирование Windows Server

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

Alexander A Manaeff -
@Mail.ru .