Weboldal keresés

Felhasználókezelés a Get-ADUser Powershell parancsmagon keresztül


Bevezetés

A PowerShell Get-ADUser parancsmagja számos paramétert biztosít egy vagy több felhasználó megtalálásához egy Active Directory (AD) tartományban.

Alapértelmezés szerint a PowerShell a gépre bejelentkezett fiókkal fut. Ha egy parancsot egy másik fiókkal szeretne futtatni, kényszerítheti a PowerShellt, hogy a parancs előtt ezzel a kapcsolóval kérje a hitelesítési adatokat:

$cred =Get-Credential

Egy adott felhasználó keresése

-Identity Parameter

Használja az -Identity paramétert, ha tudja, melyik AD-felhasználót szeretné megkapni:

Get-ADUser -Identity “identifier”

Az azonosítóhoz adja meg a következők egyikét:

  • DistinguishedName (DN)
  • SamAccountName
  • GUID
  • SID

Példa

Get-ADUser -Identity "ABBEY.Crawford"

A keresés korlátozása egy adott szervezeti egységre

-SearchBase paraméter

A -SearchBase paraméterrel korlátozhatja a keresést egy adott szervezeti egységre, amelyet annak megkülönböztető neve (DN) határoz meg:

Get-ADUser -Filter "givenname -Like 'Abbey'" -SearchBase "distinguishedName of OU"

Példa

Get-ADUser -Filter "givenname -Like 'Abbey'" -SearchBase "OU=Versacorp,DC=milkyway,DC=local"

-SearchScope paraméter

Kombinálja a SearchBase és SearchScope paramétereket, hogy a keresést egy adott szervezeti egységre és meghatározott számú alszervezeti egységre korlátozza. Ha például felhasználói fiókokat szeretne keresni egy szervezeti egységben és annak közvetlen alárendelt szervezeti egységeiben, adjon meg 1 értéket a SearchScope számára. Ha a gyermek és az unoka szervezeti egységeket is bele szeretné vonni, használjon 2-es értéket.

Get-ADUser -SearchBase " distinguishedName of OU " -SearchScope "2"

Példa

Get-ADUser -Filter "givenname -Like 'Abbey'" -SearchBase "OU=Versacorp,DC=milkyway,DC=local" -SearchScope "2"

Szűrés meghatározott felhasználói csoportokhoz

-Szűrőparaméter

Ha nem ismeri bármelyik azonosító pontos értékét, megadhat egy tulajdonságot a szűréshez és a szűrő értékét az alábbiak szerint:

Get-ADUser -Filter “filter value”

Üzemeltetők

OperatorMeaningSample expression
-eqEqual toName -like ‘Inga’
-neNot equal toCountry -ne ‘US’
-gtGreater thanBadLogonCount -gt ‘0’
-geGreater than or equalModified -ge ’06-04-2021 12:00:00?
-ltLess thanLastLogonTimeStamp -lt ’01-08-2020?
-leLess than or equalCreated -le ’01-08-2020?
-likeWildcard searchMail -like ‘*@xyz.com’
-notlikeWildcard search with negationDepartment -notlike ‘*’
-andAndCountry -eq ‘US’ -and Department -eq ‘Operations’
-orOrCountry -eq ‘US’ -or -Country -eq ‘UK’

Bizonyos keresztnévvel rendelkező felhasználók keresése

Ha egy felhasználót a keresztnevével vagy a név egy részével szeretne keresni, használja a -Filter paramétert a -like záradékkal és egy értékkel.

A következő példa a Filter paraméter használatát mutatja be, amely magában foglalja az AD attribútumot, a givenName. Olyan felhasználókat ad vissza, akiknek a megadott neve tartalmazza az Abbey-t.

Get-ADUser -Filter “givenname -Like ‘Abbey’”

Hasonló nevű felhasználók keresése

Módosíthatja az előző parancsot a helyettesítő karakterrel, hogy minden olyan felhasználót megkapjon, akinek a neve egy adott karakterlánccal kezdődik, az alábbiak szerint:

Get-ADUser -Filter "Name -like 'Abb*'" | Select Name,givenname,surname,samAccountName,distinguishedname | ftG

Az összes engedélyezett felhasználó megkeresése

Ha látni szeretné az összes engedélyezett felhasználót, használja ezt a parancsmagot:

Get-ADUser -filter {Enabled -eq "true"} | ft

Fogyatékkal élő felhasználók keresése

A fogyatékkal élő felhasználók megtalálása igen hasznos lehet az AD-tisztítás megkönnyítésében. Egy egyszerű, egyetlen szűrővel rendelkező paranccsal a „-Filter „Enabled -eq ’false”” több száz letiltott felhasználót eredményezhet, mivel egyes vállalatok inkább megőrzik Active Directory-objektumaikat auditálás céljából. Az eredmények korlátozásához használja a -SearchBase szűrőt egy adott szervezeti egységhez. Például ez a parancsmag megtalálja az összes letiltott felhasználói fiókot egy adott szervezeti egységben:

Get-ADUser -Filter “Enabled -eq 'false'” -SearchBase "CN=Users,DC=Knox,DC=lab" -Properties * | Select Name,Enabled |ft

E-mail-címmel rendelkező felhasználók keresése

Az összes olyan felhasználó megkereséséhez, akinek postafiókja van hozzárendelve, használja a következő parancsot:

Get-ADUser -Filter {mail -ne "null"} -Properties Name,GivenName,mail| ft Name,GivenName,mail

Olyan fiókok keresése, amelyeknél a jelszó lejárata nincs beállítva

A biztonság megerősítése érdekében érdemes megkeresnie az összes olyan fiókot, amelynek „passwordneverexpiers” attribútuma igaz értékre van állítva, az alábbiak szerint:

Get-ADUser -Filter {passwordneverexpires -eq "true"} | Select Name, sAMAccountName

Elavult felhasználói fiókok keresése

Időnként ki kell szűrnünk azokat a felhasználói fiókokat, amelyeket egy ideje nem használunk. Így találhatja meg az elmúlt 60 nap során nem használt összes felhasználói fiókot:

$CutoffDate = (Get-Date).AddDays(-60)
Get-ADUser -Filter "LastLogonDate -lt '$CutoffDate'" -Properties LastLogonDate | Select Name, LastLogonDate

Egy adott napon létrehozott felhasználók keresése

Az Active Directoryban egy adott napon létrehozott összes felhasználói fiók megtekintéséhez használja ezt a parancsot:

Get-ADUser -Filter {Created -lt '7/30/2021'} | Select Name

Több szűrő kombinálása

Több szűrő kombinálásával összetett feltételeket határozhat meg a felhasználók megtalálásához.

1. példa

A következő parancs az összes engedélyezett felhasználót visszaadja az értékesítési részlegről:

Get-ADUser -Filter "Enabled -eq 'true' -and Department -like 'Sales'" -Properties * | Select Name, Department |ft

2. példa

A következő parancsmag visszaadja az összes olyan felhasználót, akinek a részleg attribútuma nem null, és a neve A betűvel kezdődik:

Get-ADUser -filter {Department -ne "null"} | Where-Object Name -like 'A*'

A megjelenített tulajdonságok szabályozása

-Tulajdonságok Paraméter

Alapértelmezés szerint a Get-ADUser parancs csak néhány paramétert ad vissza. Ha szeretné egy felhasználó tulajdonságainak kiterjesztett listáját, használja ezt a parancsmagot:

Get-ADUser -Identity “Identifier” -Properties *

Egy adott tulajdonságkészlet megjelenítése

Alternatív megoldásként kifejezetten felsorolhatja azokat a tulajdonságokat, amelyeket egy felhasználónál látni szeretne:

Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,Enabled,mail,department,company,title,c,st,streetaddress |ft

Csoporttagság megjelenítése

Egy felhasználó tagságának megtekintéséhez használja ezt a parancsmagot:

Get-ADUser -Identity Abbey.crawford -Properties memberof | Select-Object -ExpandProperty memberof

E-mail cím megjelenítése

Ha egy adott felhasználó e-mail címét szeretné látni, használja ezt a parancsmagot:

Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,mail |ft

Az egyszerű felhasználói név (UPN) megjelenítése

A felhasználó UPN-jének lekéréséhez használja ezt a parancsmagot:

Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,userprincipalname |ft

SAM számlanév megjelenítése

A felhasználó SAM-fióknevének megjelenítéséhez használja ezt a parancsmagot:

Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,samAccountName |ft

Megjelenített név megjelenítése

Ha látni szeretné egy felhasználó megjelenített nevét (például mivel az ADUC-ban más lehet), használhatja ezt a parancsmagot:

Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,displayname |ft

Megkülönböztetett név megjelenítése

A felhasználó megkülönböztető nevének megtekintéséhez használja ezt a parancsmagot:

Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,distinguishedname |ft

Proxy címek megjelenítése

Ha meg szeretné tekinteni egy felhasználó proxycímét, használja ezt a parancsmagot:

Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,proxyaddresses |ft

Felhasználókezelő megjelenítése

A felhasználó kezelőjének SAM-fiók nevének megjelenítéséhez használja ezt a parancsot:

Get-ADUser “User Identifier” -properties * | select  amAccountName, @{Name=’Manager’;Expression={(Get-ADUser($_.manager)).samaccountname}}

Munkavállalói azonosító megjelenítése

Egy felhasználó alkalmazotti azonosítójának megtekintéséhez használja ezt a parancsmagot:

Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,employeeid |ft

Telefonszámok megjelenítése

Egy felhasználó összes telefonszámának megkereséséhez használja ezt a parancsot:

Get-ADUser -Identity “User Identifier” -Properties * | Select *Phone*

Az értékek táblázat formájában történő megjelenítéséhez használja ezt a parancsot:

Get-ADUser -Identity “User Identifier” -Properties * | Select Name, *Phone* | ft

Jelszó lejárati dátuma és ideje megjelenítése

A fiók jelszava lejárati dátumának megtekintéséhez használja ezt a parancsmagot:

Get-ADUser -Identity “User Identifier” -Properties msDS-UserPasswordExpiryTimeComputed | select Name, {[datetime]::FromFileTime($_.”msDS-UserPasswordExpiryTimeComputed”)}

A fiók létrehozási dátumának megjelenítése

Ha meg szeretné tekinteni, mikor jött létre felhasználói fiók az AD-ben, használja ezt a parancsot:

Get-ADUser -filter * -Properties Name,whencreated | ft Name,WhenCreated

Az utolsó bejelentkezés dátumának és időpontjának megjelenítése

Ha látni szeretné, hogy egy felhasználó mikor jelentkezett be utoljára bármely rendszerbe, használja ezt a parancsmagot:

Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,lastlogondate |ft

Az utolsó jelszómódosítás dátumának és időpontjának megjelenítése

Ha látni szeretné, hogy egy felhasználó mikor változtatta meg utoljára jelszavát, használja ezt a parancsmagot:

Get-ADUser -Identity Abbey.Crawford -properties PwdLastSet,PasswordLastSet  | sort Name | ft Name,PwdLastSet,PasswordLastSet

A kiterjesztés attribútumai értékeinek megjelenítése

A szervezetek AD-bővítmény-attribútumok segítségével további információkat tárolhatnak a felhasználókról. Például az O365 licencinformációi az ExtensionAttribute1-ben tárolhatók. Az információ megtekintéséhez használja ezt a parancsmagot:

Get-ADUser -Identity “Abbey.Crawford” -Properties * | Select sAMAccountName, extensionAttribute1

A kimenet rendezése

A Get-ADUser parancs kimenetének egy adott tulajdonság alapján történő rendezéséhez használja a következő parancsot:

Get-ADUser -Filter * | Select Name | Sort-Object -Property Name

Adatok exportálása CSV-fájlba

1. példa

A következő parancs megkeresi az elmúlt 180 napban létrehozott összes felhasználói fiókot, név szerint rendezi őket, és a kiválasztott információkat CSV-fájlba exportálja:

Get-ADUser -filter * -properties * | Where-Object { $_.created -gt  (get-date).AddDays(-180)} | select-object Name, Created | sort Name | export-csv C:\Accounts.csv -NoTypeInformation

2. példa

Az alábbi parancs megkeresi az összes felhasználót egy adott szervezeti egységben, és a róluk kiválasztott részleteket egy CSV-fájlba küldi ki:

Íme a CSV fájl:

Következtetés

A Get-ADUser parancs sokoldalú módja annak, hogy megtaláljon egy vagy több olyan felhasználót, aki megfelel bizonyos feltételeknek. Szabályozhatja, hogy mely felhasználói tulajdonságok jelenjenek meg, és hogyan legyenek rendezve az információk, és exportálhatja a kimenetet egy CSV-fájlba.

Ha érdekli egy átfogóbb Active Directory és Azure AD felügyeleti megoldás, vessen egy pillantást a Netwrix GroupID-re. Fejlettebb felügyeleti rendszerhéjat kínál, amely teljes mértékben kompatibilis a PowerShell-lel is.

Kapcsolódó cikkek