Удовлетворената честа задача, която администраторът на 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 |
Например, ще изброим профилите за деактивирани в целия домейн:
Търсене-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"