ค้นหาเว็บไซต์

รับรายชื่อผู้ใช้จาก 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

บทความที่เกี่ยวข้อง