Търсене на заключени, деактивирани и неактивни обекти в AD с помощта на Search-ADAccount

Удовлетворената честа задача, която администраторът на Active Directory трябва да изпълни, е да създава списъци с деактивирани или неактивни акаунти и компютри или списъци с акаунти с изтекли пароли. За да направите това, можете да използвате както запаметени LDAP заявки в конзолата ADUC, така и вече познатите командлети PowerShell Get-ADUser, Get-ADObject или Get-ADComputer, но създаването на подходящ филтър за тези команди може да доведе до известни затруднения. За щастие, модулът PowerShell за ActiveDirectory има по-удобен командлет за изпълнение на такива задачи. - Търсене-ADAccount. Нека разгледаме примери за използване на командлета Search-ADAccount за общи задачи..

Така че, за да работят летните команди за търсене-ADAccount, трябва да имате инсталирани поне на вашия компютър PowerShell 3.0, Инструментариум за отдалечено администриране на сървър (RSAT), в който компонентът трябва да бъде включен Модул Active Directory за Windows PowerShell (Контролен панел -> Програми-> Включване и изключване на функциите на Windows-> Инструменти за отдалечено администриране на сървъра -> Инструменти за администриране на роли -> AD DS и AD LDS Инструменти).

Този компонент може да бъде активиран и с командата:

Add-WindowsFeature RSAT-AD-PowerShell

Стартирайте конзолата PowerShell и импортирайте модула Active Directory за PowerShell:

Импорт-модул ActiveDirectory

Нека изброим най-интересните ключове за командлета Search-ADAccount.

Ключ за търсене-ADAccountописание
-AccountDisabled

Търсене на деактивирани акаунти
-AccountExpired

Сметки с изтекъл срок на годност
-AccountExpiring [-DateTime DateTime] [-TimeSpan TimeSpan]

Профили, които изтичат през определен период (-TimeSpan) или на определена дата (-DateTime)
-AccountInactive [-DateTime DateTime] [-TimeSpan TimeSpan]

Профили, които не са регистрирани в домейна, започвайки от определена дата (-DateTime) или в рамките на определен период от време (-TimeSpan)

-LockedOutПрофили, блокирани с политика на паролата
-PasswordExpiredАкаунти, чиято парола е изтекла
-PasswordNeverExpires

Сметки с атрибута PasswordNeverExpires
забележка. Имайте предвид, че по подразбиране командлерът Search-ADAccount търси едновременно потребители и компютри. За да търсите само от потребители или компютри, трябва да използвате съответно клавиша ComputersOnly или UsersOnly.

Например, ще изброим профилите за деактивирани в целия домейн:

Търсене-ADAccount -UsersOnly -AccountDisabled

Можете да ограничите обхвата на търсене до конкретен контейнер на Active Directory (OU) като този:

Търсене-ADAccount -UsersOnly -AccountDisabled -searchbase "OU = Администратори, OU = акаунти, DC = winitpro, DC = loc"

Същите данни могат да бъдат представени в по-удобна таблична форма с помощта на командата:

Търсене-ADAccount -UsersOnly -AccountDisabled -searchbase "OU = Администратори, OU = акаунти, DC = winitpro, DC = loc" | ft -AutoSize

Или ако трябва да получите списък с блокирани потребители, който съдържа само определени атрибути на потребителя и да ги представите в графична таблица с възможност за сортиране, направете:

Търсене-ADAccount -UsersOnly AccountDisabled | сортиране LastLogonDate | Изберете Име, LastLogonDate, DistinguishedName | out-gridview -title "Деактивирани потребители"

Списък на блокираните потребителски акаунти:

Търсене-ADAccount -UsersOnly -LockedOut

Списък на потребителски акаунти неактивни за 60 дни:

$ timespan = New-Timespan -Days 60
Търсене-ADAccount -UsersOnly -AccountInactive -TimeSpan $ timepan

За да изчислите броя на тези сметки:

Търсене-ADAccount -UsersOnly -AccountInactive -TimeSpan $ timespan | Мярка

Списък на компютри, които не са се регистрирали в мрежата през последните 90 дни.

Търсене-ADAccount -AccountInactive -ComputersOnly -TimeSpan 90

Или от определена дата:

Търсене-ADAccount -AccountInactive -ComputersOnly -DateTime '1/1/2017' | Изберете име, LastLogonDate | фута

За да качите данни в CSV, използвайте следната команда:

Търсене-ADAccount -AccountDisabled -UsersOnly | Export-Csv "c: \ ps \ disabled_users.csv"