Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

Get-ADUser:ค้นหาข้อมูลผู้ใช้ Active Directory ด้วย PowerShell

Get-ADUser PowerShell cmdlet ช่วยให้คุณได้รับข้อมูลเกี่ยวกับผู้ใช้ Active Directory คุณลักษณะ และการค้นหาระหว่างผู้ใช้โดเมน เป็นหนึ่งใน cmdlet ของ PowerShell ที่ได้รับความนิยมมากขึ้นในการรับข้อมูลจาก AD เมื่อใช้ Get-ADUser cmdlet คุณจะได้รับค่าของแอตทริบิวต์ของบัญชีผู้ใช้ AD แสดงรายการผู้ใช้โดเมนที่มีแอตทริบิวต์ ส่งออกรายงานผู้ใช้ไปยังไฟล์ CSV และใช้เกณฑ์ต่างๆ เพื่อเลือกและกรองผู้ใช้โดเมน

Get-ADUser Cmdlet ในโมดูล Active Directory PowerShell

Get-ADUser cmdlet รวมอยู่ในโมดูลพิเศษสำหรับการโต้ตอบกับ Active Directory – Active Directory Module สำหรับ Windows PowerShell . Cmdlet ของโมดูล RSAT-AD-PowerShell ช่วยให้คุณสามารถดำเนินการต่างๆ บนวัตถุ AD

หมายเหตุ . ก่อนหน้านี้ ในการรับข้อมูลเกี่ยวกับแอตทริบิวต์ของบัญชีผู้ใช้ AD คุณต้องใช้เครื่องมือต่างๆ:คอนโซล ADUC (รวมถึงการสืบค้น AD ที่บันทึกไว้), สคริปต์ VBS, dsquery ฯลฯ เครื่องมือทั้งหมดเหล่านี้สามารถแทนที่ได้อย่างง่ายดายด้วย Get-ADUser cmdlet .

ในตัวอย่างนี้ เราจะแสดงวิธีใช้ Get-ADUser PowerShell cmdlet เพื่อรับข้อมูลเกี่ยวกับครั้งสุดท้ายที่รหัสผ่านของผู้ใช้ถูกเปลี่ยน เมื่อรหัสผ่านหมดอายุ และคุณสมบัติของผู้ใช้รายอื่น

ในการใช้โมดูล RSAT-AD-PowerShell คุณต้องเรียกใช้คอนโซล PowerShell ที่ยกระดับและนำเข้าโมดูลด้วยคำสั่ง:

Import-Module ActiveDirectory

โมดูล RSAT-AD-PowerShell ได้รับการติดตั้งตามค่าเริ่มต้นใน Windows Server 2012 (และใหม่กว่า) เมื่อคุณปรับใช้บทบาท Active Directory Domain Services (AD DS) ในการติดตั้งโมดูลบนโฮสต์ Windows Server ที่เป็นสมาชิกโดเมน ให้เรียกใช้คำสั่ง:

Install-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature

Get-ADUser:ค้นหาข้อมูลผู้ใช้ Active Directory ด้วย PowerShell

ในการใช้ Get-ADUser cmdlet บนเดสก์ท็อป Windows 10/11 คุณต้องติดตั้ง RSAT เวอร์ชันที่เหมาะสม คุณสามารถเปิดใช้งาน RSAT ผ่านการตั้งค่า -> แอป -> คุณสมบัติเสริม -> เพิ่มคุณสมบัติ -> RSAT:Active Directory Domain Services และ Lightweight Directory Services Tools .

Get-ADUser:ค้นหาข้อมูลผู้ใช้ Active Directory ด้วย PowerShell

คุณสามารถติดตั้งโมดูล RSAT AD บน Windows 10 และ 11 ด้วย PowerShell:

Add-WindowsCapability –online –Name "Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0"

หากไม่ได้ติดตั้งโมดูล RSAT-AD-PowerShell บนคอมพิวเตอร์ เมื่อคุณเรียกใช้คำสั่ง Get-ADUser ข้อผิดพลาดจะปรากฏขึ้น:

Get-ADUser: The term 'get-aduser' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

ตรวจสอบว่าโมดูลได้รับการติดตั้งแล้ว และหากจำเป็น ให้นำเข้าไปยังเซสชัน PowerShell ของคุณ:

Import-Module ActiveDirectory

Get-ADUser:ค้นหาข้อมูลผู้ใช้ Active Directory ด้วย PowerShell

นอกจากนี้ยังมีวิธีการใช้โมดูล AD-PowerShell โดยไม่ต้องติดตั้ง RSAT บนคอมพิวเตอร์ของคุณ การคัดลอกไฟล์โมดูลหลักและนำเข้าโมดูลไปยังเซสชัน PowerShell ก็เพียงพอแล้ว:

Import-Module "C:\PS\AD\Microsoft.ActiveDirectory.Management.dll"
Import-Module "C:\PS\AD\Microsoft.ActiveDirectory.Management.resources.dll"

รายการอาร์กิวเมนต์ทั้งหมดของ Get-ADUser cmdlet สามารถรับได้ดังนี้:

help Get-ADUser

จะค้นหาผู้ใช้ AD และคุณสมบัติของรายการด้วย Get-ADUser ได้อย่างไร

ในการใช้ Get-ADUser cmdlet คุณไม่จำเป็นต้องเรียกใช้งานภายใต้บัญชีที่มีผู้ดูแลระบบโดเมนหรือสิทธิ์ที่ได้รับมอบหมาย ผู้ใช้โดเมน AD ที่ได้รับอนุญาตสามารถเรียกใช้คำสั่ง PowerShell เพื่อรับค่าของแอตทริบิวต์วัตถุ AD ส่วนใหญ่ (ยกเว้นค่าที่เป็นความลับ ดูตัวอย่างในบทความ Local Administrator Password Solution – LAPS) หากคุณต้องการเรียกใช้คำสั่ง Get-ADUser ภายใต้บัญชีอื่น ให้ใช้ –ข้อมูลประจำตัว พารามิเตอร์.

หากต้องการแสดงรายการบัญชีผู้ใช้โดเมนทั้งหมด ให้เรียกใช้คำสั่งนี้:

Get-ADUser -filter *

สำคัญ . ไม่แนะนำให้เรียกใช้คำสั่งนี้ในโดเมน Active Directory ที่มีบัญชีผู้ใช้จำนวนมาก ซึ่งอาจทำให้มีภาระหนักบนตัวควบคุมโดเมนโดยให้ข้อมูล AD

Get-ADUser:ค้นหาข้อมูลผู้ใช้ Active Directory ด้วย PowerShell

ใช้ Set-ADUser cmdlet เพื่อเปลี่ยนแอตทริบิวต์ผู้ใช้ Active Directory

หากต้องการแสดงคุณสมบัติของผู้ใช้เฉพาะ ให้ใช้ –Identity พารามิเตอร์. ข้อมูลประจำตัวอาจเป็นชื่อผู้ใช้ ล็อกอิน (SAMAccountName), DN (Distinguished Name), SID หรือ GUID

คำสั่ง PowerShell ต่อไปนี้จะส่งคืนผลลัพธ์เดียวกันสำหรับบัญชีผู้ใช้ AD เดียวกัน:

Get-ADUser –Identity b.smith
Get-ADUser –Identity "CN=Brian Smith,OU=Users,OU=Berlin,DC=woshub,DC=loc"
Get-ADUser –Identity "Brian Smith"

Get-ADUser:ค้นหาข้อมูลผู้ใช้ Active Directory ด้วย PowerShell

ตามค่าเริ่มต้น cmdlet ของ Get-ADUser จะส่งคืนแอตทริบิวต์ผู้ใช้พื้นฐาน 10 รายการเท่านั้น (จากคุณสมบัติของบัญชีผู้ใช้มากกว่า 120 รายการ):DistinguishedName, SamAccountName, Name, SID, UserPrincipalName, ObjectClass, สถานะบัญชี (เปิดใช้งาน:จริง/เท็จ ตาม UserAccountControl AD แอตทริบิวต์) ฯลฯ ในกรณีนี้ เอาต์พุตของ cmdlet ไม่มีข้อมูลเกี่ยวกับเวลาของการเปลี่ยนรหัสผ่านผู้ใช้ครั้งล่าสุด

ในการดำเนินการค้นหา AD บนตัวควบคุมโดเมนเฉพาะ ให้ใช้ -Server ตัวเลือก:

Get-ADUser –Server DC01.woshub.com –Identity tstuser

หากคุณต้องการรับข้อมูลผู้ใช้จากโดเมน AD อื่น คุณต้องระบุชื่อตัวควบคุมโดเมนและข้อมูลรับรองเพื่อเข้าถึง:

$ADcred = Get-Credential
Get-ADUSer tstuser -Server DC01.contoso.com -Credential $ADcred

หากต้องการแสดงข้อมูลโดยละเอียดเกี่ยวกับแอตทริบิวต์ผู้ใช้ที่มีอยู่ทั้งหมด ให้เรียกใช้คำสั่งนี้:

Get-ADUser -identity tuser -properties *

Get-ADUser:ค้นหาข้อมูลผู้ใช้ Active Directory ด้วย PowerShell

Get-ADUser cmdlet ที่มี คุณสมบัติ * สวิตช์แสดงรายการแอตทริบิวต์และค่าของผู้ใช้ AD ทั้งหมด (รวมถึงค่าว่าง) รายการแอตทริบิวต์ผู้ใช้ที่คล้ายกันมีอยู่ในสแน็ปอินกราฟิกผู้ใช้ Active Directory และคอมพิวเตอร์ (dsa.msc ) ใต้แท็บตัวแก้ไขแอตทริบิวต์

จากนั้นเราจะไปที่การจัดรูปแบบของผลลัพธ์ Get-ADUser เพื่อแสดงแอตทริบิวต์ผู้ใช้ที่จำเป็น ตัวอย่างเช่น คุณต้องการแสดงค่าของคุณสมบัติผู้ใช้ต่อไปนี้:

  • รหัสผ่านหมดอายุ
  • PasswordLastSet
  • รหัสผ่านไม่มีวันหมดอายุ
  • LastLogonTimestamp

รันคำสั่ง:

Get-ADUser tuser -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires, lastlogontimestamp

Get-ADUser:ค้นหาข้อมูลผู้ใช้ Active Directory ด้วย PowerShell

ตอนนี้ในข้อมูลผู้ใช้ มีข้อมูลเกี่ยวกับสถานะรหัสผ่านของบัญชี (หมดอายุ:จริง/เท็จ) วันที่เปลี่ยนรหัสผ่านล่าสุด และเวลาของผู้ใช้ล่าสุดที่เข้าสู่ระบบโดเมน (lastlogontimestamp คุณลักษณะ). ในการแสดงข้อมูลนี้ในมุมมองตารางที่สะดวกยิ่งขึ้นและลบแอตทริบิวต์ที่ไม่จำเป็นทั้งหมด ให้ใช้ Select-Object –Property และ Format-Table :

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Get-ADUser:ค้นหาข้อมูลผู้ใช้ Active Directory ด้วย PowerShell

Get-ADUser -SearchBase:การรับผู้ใช้จาก OU เฉพาะ

ในการแสดงผู้ใช้จากคอนเทนเนอร์โดเมนเฉพาะ (หน่วยขององค์กร) ให้ใช้ –SearchBase พารามิเตอร์:

Get-ADUser -SearchBase 'OU=London,DC=woshub,DC=loc' -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires

หากคุณต้องการเลือกผู้ใช้จาก OU หลายหน่วยพร้อมกัน ให้ใช้สคริปต์ PowerShell ต่อไปนี้:

$OUs = "OU=NY,DC=woshub,DC=com","OU=LA,DC=woshub,DC=com","OU=MA,DC=woshub,DC=com"
$OUs | foreach {Get-ADUser -SearchBase $_ -Filter * |select Name, Enabled}

จะรับที่อยู่อีเมลของผู้ใช้จาก AD โดยใช้ PowerShell ได้อย่างไร

ที่อยู่อีเมลของผู้ใช้เป็นหนึ่งในแอตทริบิวต์ของวัตถุผู้ใช้ใน Active Directory หากต้องการระบุที่อยู่อีเมลของผู้ใช้ คุณต้องเพิ่ม EmailAddress ให้กับคุณสมบัติของ Get-ADUser cmdlet

Get-ADUser -filter * -properties EmailAddress -SearchBase 'OU=Paris,OU-Fr,DC=woshub,DC=com'| select-object Name, EmailAddress

Get-ADUser:ค้นหาข้อมูลผู้ใช้ Active Directory ด้วย PowerShell

รายชื่อบัญชีผู้ใช้ที่เปิดใช้งานพร้อมที่อยู่อีเมล:

Get-ADUser -Filter {(mail -ne "null") -and (Enabled -eq "true")} -Properties Surname,GivenName,mail | Select-Object Name,Surname,GivenName,mail | Format-Table

วิธีรับรายชื่อผู้ใช้ Active Directory ที่ไม่มีที่อยู่อีเมล:

Get-ADUser -Filter * -Properties EmailAddress | where -Property EmailAddress -eq $null

ตัวอย่างต่อไปนี้ช่วยให้คุณสามารถส่งออกรายชื่ออีเมลของบริษัทจาก AD ไปยังไฟล์ CSV หลังจากนั้น คุณสามารถนำเข้ารายการที่อยู่ CSV นี้ไปยังโปรแกรมรับส่งเมลบนเดสก์ท็อป เช่น Outlook หรือ Mozilla Thunderbird:

Get-ADUser -Filter {(mail -ne "null") -and (Enabled -eq "true")} -Properties Surname,GivenName,mail | Select-Object Name,Surname,GivenName,mail | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $env:temp\adress_list.csv

Get-ADUser:การส่งออกผู้ใช้ Active Directory เป็น CSV ด้วย PowerShell

รายการผลลัพธ์ของผู้ใช้โดเมนที่มีแอตทริบิวต์สามารถส่งออกไปยังไฟล์ข้อความได้:

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires > C:\temp\users.txt

หรือคุณสามารถส่งออกรายชื่อผู้ใช้ AD เป็นไฟล์ CSV:

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | where {$_.name –like "*Dmitry*"} | sort-object PasswordLastSet | select-object Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires | Export-csv -path c:\tmp\user-passwords-expires.csv -Append -Encoding UTF8

รายชื่อผู้ใช้ AD สามารถส่งออกโดยตรงไปยังไฟล์ Excel โดยใช้ PowerShell

ตัวอย่างตัวกรอง Get-ADUser

การใช้ –ตัวกรอง สลับ คุณสามารถกรองรายการบัญชีผู้ใช้ตามแอตทริบิวต์หนึ่งรายการขึ้นไป ซึ่งมีประโยชน์สำหรับการค้นหาผู้ใช้ AD ที่มีแอตทริบิวต์ตรงกับเกณฑ์ที่ระบุ ค่าสำหรับแอตทริบิวต์เฉพาะของผู้ใช้ Active Directory สามารถระบุเป็นอาร์กิวเมนต์ของพารามิเตอร์นี้ได้ เมื่อคุณใช้ –Filter พารามิเตอร์ Get-ADUser cmdlet จะแสดงเฉพาะผู้ใช้ที่ตรงกับเกณฑ์การกรอง

ตัวอย่างเช่น ฉันต้องการแสดงรายการบัญชีผู้ใช้ที่ใช้งานอยู่ (เปิดใช้งาน) ที่มีชื่อเป็น “Dmitry ” ตัวอย่างด้านล่างใช้ตัวกรองหลายตัว คุณสามารถรวมเงื่อนไขโดยใช้ตัวดำเนินการเปรียบเทียบ PowerShell แบบลอจิคัล ในตัวอย่างนี้ แอตทริบิวต์ผู้ใช้ต้องเป็นไปตามเงื่อนไขตัวกรองทั้งสอง (-และ ):

Get-AdUser -Filter "(Name -like '*Dmitry*') -and (Enabled -eq 'True')" -Properties * |select name,enabled

Get-ADUser:ค้นหาข้อมูลผู้ใช้ Active Directory ด้วย PowerShell

ตัวดำเนินการทางลอจิคัล PowerShell ทั้งหมดสามารถใช้เพื่อเลือกค่าสำหรับแอตทริบิวต์ของผู้ใช้ (-eq , -ne , -gt , -ge , -lt , -le , -like , -notlike , -and , -or เป็นต้น)

นอกจากนี้ คุณสามารถจัดเรียงรายการผลลัพธ์ของผู้ใช้ตามแอตทริบิวต์ผู้ใช้เฉพาะด้วย Sort-Object cmdlet คุณยังสามารถใช้ Where-Object cmdlet เพื่อระบุเกณฑ์การกรองหลายรายการพร้อมกัน

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires -SearchBase 'OU=NY,DC=woshub,DC=com'| where {$_.name –like "*Dmitry*" -and $_.Enabled -eq $true} | sort-object PasswordLastSet | select-object Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Get-ADUser:ค้นหาข้อมูลผู้ใช้ Active Directory ด้วย PowerShell

ดังนั้น คุณสามารถรับรายชื่อผู้ใช้ที่มีแอตทริบิวต์ Active Directory ที่จำเป็นได้

หากต้องการค้นหาผู้ใช้ด้วยแอตทริบิวต์ต่างๆ พร้อมกัน (legacyExchangeDN, proxyAddresses, SAMAccountName, Surname, DisplayName, SamAccountName, physicalDeliveryOfficeName, RDN และ msExchMailNickname) คุณสามารถใช้การจำแนกชื่อที่คลุมเครือ (ANR ) คุณสมบัติ:

Get-ADUser -Filter {anr -eq 'John'} | select Name

คำแนะนำ . เมื่อค้นหาผู้ใช้ Active Directory โดยใช้ Get-ADUser จากมุมมองด้านประสิทธิภาพ การระบุเกณฑ์โดยใช้ ตัวกรอง แอตทริบิวต์จะดีกว่าการใช้ไปป์ไลน์ไปยัง Where-Object cmdlet ในกรณีนี้ การกรองผลลัพธ์การเลือกจะดำเนินการบนตัวควบคุมโดเมน และชุดข้อมูลที่มีขนาดเล็กกว่าจะถูกโอนไปยังคอมพิวเตอร์ของคุณผ่านเครือข่าย

คุณสามารถใช้ตัวกรอง LDAP ในการสืบค้น Get-ADUser มีการระบุตัวกรอง LDAP โดยใช้ –LdapFilter แอตทริบิวต์

Get-ADUser -LDAPFilter '(&(department=it)(title=sysops))'

ตัวอย่าง PowerShell Get-ADUser

มาแสดงตัวอย่างคำสั่ง PowerShell ที่เป็นประโยชน์มากขึ้นสำหรับการสอบถามผู้ใช้ Active Directory ด้วยตัวกรองต่างๆ คุณสามารถรวมเข้าด้วยกันเพื่อรับรายการวัตถุผู้ใช้ AD ที่จำเป็น:

แสดงผู้ใช้ AD ที่มีชื่อขึ้นต้นด้วย Joe :

Get-ADUser -filter {name -like "Joe*"}

คุณสามารถใช้ PowerShell เพื่อคำนวณจำนวนบัญชีผู้ใช้ทั้งหมดใน Active Directory:

Get-ADUser -Filter {SamAccountName -like "*"} | Measure-Object

ค้นหาบัญชีผู้ใช้ Active Directory ที่ถูกปิดใช้งาน:

Get-ADUser -Filter {Enabled -eq "False"} | Select-Object SamAccountName,Name,Surname,GivenName | Format-Table

คุณสามารถตรวจสอบวันที่สร้างบัญชีผู้ใช้ Active Directory ได้ด้วยคำสั่ง:

get-aduser -Filter * -Properties Name, WhenCreated | Select name, whenCreated

คุณสามารถรับรายชื่อผู้ใช้ Active Directory ที่เพิ่มใหม่ที่สร้างขึ้นใน 24 ชั่วโมงที่ผ่านมา:


$lastday = ((Get-Date).AddDays(-1))
Get-ADUser -filter {(whencreated -ge $lastday)}

แสดงรายการบัญชีที่มีรหัสผ่านหมดอายุ (คุณสามารถกำหนดค่าตัวเลือกการหมดอายุของรหัสผ่านในนโยบายรหัสผ่านของโดเมน):

Get-ADUser -filter {Enabled -eq $True} -properties name,passwordExpired| where {$_.PasswordExpired}|select name,passwordexpired

คุณสามารถใช้ cmdlet ของ Get-ADUser และ Add-ADGroupMember เพื่อสร้างกลุ่มผู้ใช้ AD แบบไดนามิก (ขึ้นอยู่กับเมือง ตำแหน่งงาน แผนก ฯลฯ)

งาน:สำหรับรายการบัญชีผู้ใช้ที่จัดเก็บไว้ในไฟล์ข้อความ (หนึ่งบัญชีต่อบรรทัด) คุณต้องรับชื่อบริษัทของผู้ใช้จาก AD และบันทึกลงในไฟล์ CSV (คุณสามารถนำเข้าไฟล์นี้ไปยัง Excel ได้อย่างง่ายดาย)

Import-Csv c:\ps\users_list.csv | ForEach {
Get-ADUser -identity $_.user -Properties Name, Company |
Select Name, Company |
Export-CSV c:\ps\users_ad_list.csv -Append -Encoding UTF8
}

ผู้ใช้ที่ไม่ได้เปลี่ยนรหัสผ่านโดเมนในช่วง 90 วันที่ผ่านมา:

$90_Days = (Get-Date).adddays(-90)
Get-ADUser -filter {(passwordlastset -le $90_days)}

ค้นหาบัญชีผู้ใช้ที่ไม่ใช้งาน (ไม่ได้เข้าสู่ระบบโดเมนนานกว่า 180 วัน) แอตทริบิวต์ lastLogonTimestamp ใช้เพื่อรับประวัติการเข้าสู่ระบบของผู้ใช้ไปยังโดเมน:

$LastLogonDate= (Get-Date).AddDays(-180)
Get-ADUser -Properties LastLogonTimeStamp -Filter {LastLogonTimeStamp -lt $LastLogonDate } | ?{$_.Enabled –eq $True} |  Sort LastLogonTimeStamp| FT Name, @{N='lastlogontimestamp'; E={[DateTime]::FromFileTime($_.lastlogontimestamp)}} -AutoSize

หากต้องการรับรูปภาพของผู้ใช้จาก Active Directory และบันทึกเป็นไฟล์ jpg ให้เรียกใช้คำสั่งต่อไปนี้:

$usr = Get-ADUser sjoe -Properties thumbnailPhoto
$usr.thumbnailPhoto | Set-Content sjoe.jpg -Encoding byte

ในการรับรายชื่อกลุ่มโฆษณาที่บัญชีผู้ใช้เป็นสมาชิกของ:

Get-AdUser sjoe -Properties memberof | Select memberof -expandproperty memberof

รายชื่อผู้ใช้จาก OU ที่เป็นสมาชิกของกลุ่มความปลอดภัยของโดเมนเฉพาะ:

Get-ADUser -SearchBase 'OU=Rome,OU=Italy,DC=woshub,DC=com' -Filter * -properties memberof | Where-Object {($_.memberof -like "*CEO*")}

รายชื่อผู้ใช้จาก OU ที่เป็นสมาชิกของกลุ่มความปลอดภัยของโดเมนเฉพาะ:

Get-ADUser -SearchBase 'OU=Rome,OU=Italy,DC=woshub,DC=com' -Filter * -properties memberof | Where-Object {($_.memberof -like "*CEO*")}

รายชื่อผู้ใช้ทั้งหมดจาก OU ยกเว้นสมาชิกของกลุ่มเฉพาะ:

$Users = Get-ADUser -filter * -SearchBase ‘OU=Berlin,DC=woshub,DC=com’ -properties memberOf
ForEach ($User In $Users)
{
$Groups = -join @($User.memberOf)
If ($Groups -notlike '*Domain Admins*')
{
$User.Name
}
}

การส่งออกรายชื่อผู้ใช้ AD ที่มีชื่อหน่วยขององค์กรไปยังตาราง Out-GridView:

get-aduser -filter * -Properties cn,canonicalname | select name,userprincipalname,@{Name="OU";expression={$_.Canonicalname.substring(0,$_.canonicalname.length-$_.cn.length)}}| Out-GridView

Get-ADUser:ค้นหาข้อมูลผู้ใช้ Active Directory ด้วย PowerShell

ตรวจสอบว่ามีบัญชีผู้ใช้ AD อยู่:
$SamAccountName='jbrown'
if (@(Get-ADUser -Filter { SamAccountName -eq $SamAccountName }).Count -eq 0)
{  Write-Host "User $SamAccountName doesn’t exist"}

แสดงรายการคอมพิวเตอร์โดเมนที่ผู้ใช้ได้รับอนุญาตให้ลงชื่อเข้าใช้ (ข้อจำกัดการเข้าสู่ระบบผ่านแอตทริบิวต์ AD ของ LogonWorkstations)

Get-ADUser jbrown -Properties LogonWorkstations | Format-List Name, LogonWorkstations

เคล็ดลับ . Get-ADComputer cmdlet ใช้เพื่อรับคุณสมบัติของคอมพิวเตอร์หรือค้นหาคอมพิวเตอร์หลายเครื่องจาก Active Directory