Wyszukaj zablokowane, wyłączone i nieaktywne obiekty w AD za pomocą Search-ADAccount

Zadaniem często wykonywanym przez administratora usługi Active Directory jest tworzenie list wyłączonych lub nieaktywnych kont i komputerów lub list kont z wygasłymi hasłami. Aby to zrobić, możesz użyć zarówno zapisanych zapytań LDAP w konsoli ADUC, jak i już znanych poleceń cmdlet PowerShell Get-ADUser, Get-ADObject lub Get-ADComputer, jednak utworzenie odpowiedniego filtra dla tych poleceń może powodować pewne trudności. Na szczęście moduł PowerShell dla ActiveDirectory ma wygodniejsze polecenie cmdlet do wykonywania takich zadań. - Search-ADAccount. Spójrzmy na przykłady używania polecenia cmdlet Search-ADAccount do typowych zadań..

Tak więc, aby letnie polecenia Search-ADAccount działały, musisz mieć przynajmniej zainstalowany na swoim komputerze PowerShell 3.0, Zestaw narzędzi administracji zdalnej serwera (RSAT), do którego należy włączyć składnik Moduł Active Directory dla Windows PowerShell (Panel sterowania -> Programy-> Włączanie i wyłączanie funkcji systemu Windows-> Narzędzia administracji zdalnej serwera -> Narzędzia administracji roli -> Narzędzia AD DS i AD LDS).

Ten komponent można również włączyć za pomocą polecenia:

Dodaj-WindowsFeature RSAT-AD-PowerShell

Uruchom konsolę PowerShell i zaimportuj moduł Active Directory dla PowerShell:

Moduł importu ActiveDirectory

Wymieńmy najciekawsze klucze cmdletu Search-ADAccount.

Search-ADAccount KeyOpis
-AccountDisabled

Wyszukaj wyłączone konta
-Konto wygasło

Wygasłe konta
-AccountExpiring [-DateTime DateTime] [-TimeSpan TimeSpan]

Konta, które wygasają w określonym czasie (-TimeSpan) lub w określonym dniu (-DateTime)
-AccountInactive [-DateTime DateTime] [-TimeSpan TimeSpan]

Konta, które nie są zarejestrowane w domenie począwszy od określonej daty (-DateTime) lub w określonym przedziale czasu (-TimeSpan)

-ZablokowanyKonta zablokowane przez zasady haseł
-Hasło wygasłoKonta, których hasło wygasło
-PasswordNeverExpires

Konta z ustawionym atrybutem PasswordNeverExpires
Uwaga. Zauważ, że domyślnie cmdlet Search-ADAccount przeszukuje jednocześnie użytkowników i komputery. Aby wyszukiwać tylko według użytkowników lub komputerów, musisz użyć odpowiednio klucza ComputersOnly lub UsersOnly.

Na przykład wymienimy wyłączone konta w całej domenie:

Search-ADAccount -UsersOnly -AccountDisabled

Możesz ograniczyć zakres wyszukiwania do określonego kontenera Active Directory (OU) w następujący sposób:

Search-ADAccount -UsersOnly -AccountDisabled -searchbase "OU = Administratorzy, OU = Konta, DC = winitpro, DC = loc"

Te same dane można przedstawić w wygodniejszej formie tabelarycznej za pomocą polecenia:

Search-ADAccount -UsersOnly -AccountDisabled -searchbase "OU = Administratorzy, OU = Konta, DC = winitpro, DC = loc" | ft -AutoSize

Lub jeśli potrzebujesz uzyskać listę zablokowanych użytkowników, która zawiera tylko niektóre atrybuty użytkownika i przedstawić ich w tabeli graficznej z możliwością sortowania, wykonaj:

Search-ADAccount -UsersOnly AccountDisabled | sort LastLogonDate | Wybierz Nazwa, LastLogonDate, DistinguishedName | out-gridview -title „Użytkownicy niepełnosprawni”

Lista zablokowanych kont użytkowników:

Search-ADAccount -UsersOnly -LockedOut

Lista kont użytkowników nieaktywnych przez 60 dni:

$ timespan = New-Timespan -Days 60
Search-ADAccount -UsersOnly -AccountInactive -TimeSpan $ przedział czasu

Aby obliczyć liczbę takich kont:

Search-ADAccount -UsersOnly -AccountInactive -TimeSpan $ timespan | Zmierz

Lista komputerów, które nie zarejestrowały się w sieci w ciągu ostatnich 90 dni.

Search-ADAccount -AccountInactive -ComputersOnly -TimeSpan 90

Lub od określonej daty:

Search-ADAccount -AccountInactive -ComputersOnly -DateTime '1/1/2017' | Wybierz nazwę, LastLogonDate | ft

Aby przesłać dane do CSV, użyj następującego polecenia:

Search-ADAccount -AccountDisabled -UsersOnly | Export-Csv „c: \ ps \ disabled_users.csv”