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-CredentialEgy 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
| Operator | Meaning | Sample expression |
| -eq | Equal to | Name -like ‘Inga’ |
| -ne | Not equal to | Country -ne ‘US’ |
| -gt | Greater than | BadLogonCount -gt ‘0’ |
| -ge | Greater than or equal | Modified -ge ’06-04-2021 12:00:00? |
| -lt | Less than | LastLogonTimeStamp -lt ’01-08-2020? |
| -le | Less than or equal | Created -le ’01-08-2020? |
| -like | Wildcard search | Mail -like ‘*@xyz.com’ |
| -notlike | Wildcard search with negation | Department -notlike ‘*’ |
| -and | And | Country -eq ‘US’ -and Department -eq ‘Operations’ |
| -or | Or | Country -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 | ftGAz ö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"} | ftFogyaté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 |ftE-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,mailOlyan 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, sAMAccountNameElavult 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, LastLogonDateEgy 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 NameTö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 |ft2. 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 |ftCsoporttagsá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 memberofE-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 |ftAz 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 |ftSAM 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 |ftMegjelení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 |ftMegkü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 |ftProxy 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 |ftFelhaszná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 |ftTelefonszá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* | ftJelszó 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,WhenCreatedAz 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 |ftAz 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,PasswordLastSetA 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, extensionAttribute1A 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 NameAdatok 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 -NoTypeInformation2. 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.




































