รับรายชื่อผู้ใช้จาก OU โดยใช้ PowerShell
รายชื่อ ผู้ใช้จากหน่วยองค์กรสามารถดึงข้อมูลได้โดยใช้ Get-AdUser พร้อมด้วยพารามิเตอร์ SearchBase เพื่อค้นหาผู้ใช้ใน OU ที่ต้องการ และรับ AdOrganizationalUnit ใน PowerShell
OrganisationalUnit ใน Active Directory ประกอบด้วยผู้ใช้ กลุ่ม คอมพิวเตอร์ และวัตถุ AD Get-AdUser cmdlet ใน PowerShell ช่วยให้รับผู้ใช้โฆษณาตั้งแต่หนึ่งรายขึ้นไปจากไดเรกทอรีที่ใช้งานอยู่
ในบทความนี้ เราจะหารือถึงวิธีการแสดงรายการผู้ใช้จาก OU ใน Active Directory
รับรายชื่อผู้ใช้จาก OU
เมื่อใช้ Get-AdUser ใน PowerShell คุณสามารถค้นหาผู้ใช้จาก OU ที่ต้องการได้อย่างง่ายดาย
มาฝึกใช้ตัวอย่างเพื่อรับรายชื่อผู้ใช้จากหน่วยขององค์กรโฆษณา
$OU = 'OU=SALES,DC=SHELLPRO,DC=LOCAL'
# Use Get-AdUser to search within organizational unit to get users name
Get-ADUser -Filter * -SearchBase $OU | Select-object DistinguishedName,Name,UserPrincipalName
ในสคริปต์ PowerShell ด้านบนเพื่อค้นหาผู้ใช้จาก OU
ตัวแปร $OU ใน PowerShell มีชื่อ OU
การใช้ Get-ADUser ใน PowerShell จะใช้ตัวกรองและพารามิเตอร์ SearchBase เพื่อค้นหาผู้ใช้ภายใน OU ที่ระบุ
โดยจะเลือกชื่อเฉพาะของผู้ใช้โฆษณา ชื่อ และชื่อหลักของผู้ใช้
ผลลัพธ์ของสคริปต์ PowerShell ข้างต้นเพื่อรับผู้ใช้ทั้งหมดใน OU คือ:
เคล็ดลับเด็ด: วิธีค้นหาคอมพิวเตอร์ใน OU ใน Active Directory!
รับผู้ใช้ทั้งหมดใน ou และ sub ou
การใช้ Get-AdUser cmdlet ใน PowerShell คุณสามารถรับผู้ใช้ทั้งหมดใน ou และ sub ou
โดยจะใช้พารามิเตอร์ SearchBase เพื่อค้นหาภายใน ou ที่กำหนด และการใช้พารามิเตอร์แผนผังย่อย SearchScope จะรับผู้ใช้ย่อยทั้งหมด
มาฝึกใช้ตัวอย่างกัน
$OU = 'OU=SHELLUSERS,DC=SHELLPRO,DC=LOCAL'
Get-ADUser -Filter * -SearchBase $OU -SearchScope Subtree | Select-object DistinguishedName,Name,UserPrincipalName
ผลลัพธ์ของสคริปต์ PowerShell ด้านบนเพื่อรับผู้ใช้ทั้งหมดใน ou และ sub ou คือ:
รับรายชื่อผู้ใช้โฆษณาจากหลายหน่วยองค์กร
การใช้พารามิเตอร์ Get-AdUser SearchBase คุณสามารถรับรายชื่อผู้ใช้โฆษณาจากหลาย ๆ องค์กรได้
# Specify multiple OU
$OU = 'OU=SALES,DC=SHELLPRO,DC=LOCAL','OU=SHELLUSERS,DC=SHELLPRO,DC=LOCAL'
# Use foreach to iterate over multiple ou to get aduser
$OU | ForEach-Object {Get-AdUser -filter {enabled -eq $true} -searchbase $_ -properties canonicalname,userprincipalname } | Select SamAccountName,canonicalname,userprincipalnameในคำสั่งข้างต้น ตัวแปร $OU มีหลาย OU
ใช้ ForEach -Object เพื่อวนซ้ำ ou และใช้พารามิเตอร์ Get-AdUser SearchBase เพื่อรับผู้ใช้จากหลาย ๆ ou
ผลลัพธ์ของคำสั่งข้างต้นคือ:
PS C:\> $OU = 'OU=SALES,DC=SHELLPRO,DC=LOCAL','OU=SHELLUSERS,DC=SHELLPRO,DC=LOCAL'
PS C:\> $OU | ForEach-Object {Get-AdUser -filter {enabled -eq $true} -searchbase $_ -properties canonicalname,userprincipalname } | Select SamAccountName,canonicalname,userprincipalname
SamAccountName canonicalname userprincipalname
-------------- ------------- -----------------
toms SHELLPRO.LOCAL/SALES/Tom Smith [email
chrisd SHELLPRO.LOCAL/SALES/Chris Dore [email
Harsh.Dev SHELLPRO.LOCAL/SHELLUSERS/HR/Harsh Dev [email
Netya.Xu SHELLPRO.LOCAL/SHELLUSERS/FINANCE/Netya Xu [email
Dev.NewHouse SHELLPRO.LOCAL/SHELLUSERS/Dave NewHouse [email ส่งออกรายชื่อผู้ใช้ใน ou เป็น csv
ในตัวอย่างข้างต้น เราพบว่าคุณสามารถรับรายชื่อผู้ใช้จาก OU ใน Active Directory
เมื่อใช้ Export-CSV ใน PowerShell คุณสามารถส่งออกรายชื่อผู้ใช้โฆษณาใน OU ไปยังไฟล์ CSV ในตำแหน่งที่ระบุได้
มาฝึกซ้อมกันเถอะ!
# Get the OU and sub OU list from the active directory by OU name
$OUList = (Get-ADOrganizationalUnit -Filter 'Name -like "SALES"' -SearchScope Subtree) | select DistinguishedName
$OUList | foreach {
$ADUsersList = Get-ADUser -Filter * -SearchBase $_.DistinguishedName | Select-Object Name,DistinguishedName,UserPrincipalName
}
$ADUsersList | Export-CSV C:\PowerShell\OU_adusers.csv -NoTypeInformationในสคริปต์ PowerShell ด้านบนเพื่อส่งออกรายชื่อผู้ใช้จาก ou และ sub ou
- ตัวแปร $OUList ประกอบด้วย OU และชื่อย่อยที่ดึงข้อมูลโดย Get-AdOrganizationalUnit ใน PowerShell ประกอบด้วยชื่อเฉพาะของ OU
- ใช้ foreach loop เพื่อวนซ้ำรายการของคุณ
- ใช้ Get-AdUser ใน PowerShell เพื่อค้นหาผู้ใช้ใน OU ที่ระบุโดยใช้พารามิเตอร์ SearchBase
- โดยส่งคืนชื่อผู้ใช้โฆษณา ชื่อที่แตกต่าง และชื่อผู้ใช้หลักของผู้ใช้จาก ou
- ใช้ Export-Csv ใน PowerShell เพื่อส่งออกรายชื่อผู้ใช้ใน OU ไปยังไฟล์ csv
ผลลัพธ์ของสคริปต์ PowerShell ข้างต้นในไฟล์ CSV คือ:
"Name","DistinguishedName","UserPrincipalName"
"Tom Smith","CN=Tom Smith,OU=SALES,DC=SHELLPRO,DC=LOCAL","[email "
"Chris Dore","CN=Chris Dore,OU=SALES,DC=SHELLPRO,DC=LOCAL","[email "
บทสรุป
ฉันหวังว่าคุณจะพบบทความเกี่ยวกับวิธีรับรายชื่อผู้ใช้จาก OU ใน Active Directory โดยใช้ Get-AdUser และ Get-AdOrganizationalUnit cmdlet ใน PowerShell
Get-AdUser ใน PowerShell รับผู้ใช้ตั้งแต่หนึ่งรายขึ้นไปจากเงื่อนไขการค้นหา ในสคริปต์ข้างต้น เราได้ระบุชื่อที่แตกต่างของ OU ในพารามิเตอร์ SearchBase
คุณสามารถค้นหาหัวข้อเพิ่มเติมเกี่ยวกับคำสั่ง PowerShell Active Directory และพื้นฐานของ PowerShell ได้ในหน้าแรกของ ShellGeek

