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

การใช้แบบสอบถามที่บันทึกไว้ใน ADUC MMC (ผู้ใช้ Active Directory และคอมพิวเตอร์)


การสืบค้นที่บันทึกไว้ ในคอนโซล mmc ของผู้ใช้ Active Directory และคอมพิวเตอร์ (ADUC) ช่วยให้คุณสร้าง ตัวกรอง LDAP ที่ซับซ้อนเพื่อเลือกวัตถุ Active Directory แบบสอบถามเหล่านี้สามารถบันทึก แก้ไข และคัดลอกไปยังคอมพิวเตอร์เครื่องอื่นได้ คุณสามารถใช้คิวรีที่บันทึกไว้ใน Active Directory เพื่อค้นหาวัตถุ AD ตามเกณฑ์ต่างๆ ได้อย่างรวดเร็วและมีประสิทธิภาพ ข้อความค้นหาที่บันทึกไว้สามารถช่วยคุณดำเนินการจัดการวัตถุ AD ทั่วไปได้อย่างรวดเร็ว: แสดงรายการบัญชีที่ถูกปิดใช้งานทั้งหมดในโดเมน เลือกผู้ใช้ทั้งหมดของบริษัทที่มีกล่องจดหมายบนเซิร์ฟเวอร์ Exchange ที่กำหนด ฯลฯ

เมื่อใช้แบบสอบถาม LDAP ที่บันทึกไว้ ผู้ดูแลระบบสามารถดำเนินการกลุ่มกับวัตถุจาก OU (คอนเทนเนอร์) ต่างๆ ของ Active Directory ตัวอย่างเช่น คุณสามารถดำเนินการล็อก/ปลดล็อก/เปิด/ปิดใช้งาน ย้าย ลบ เปลี่ยนชื่อจำนวนมากภายใต้วัตถุ/บัญชี AD ข้อความค้นหาดังกล่าวในคอนโซล ADUC ช่วยให้คุณสามารถข้ามโครงสร้างลำดับชั้นของ OU ใน Active Directory และรวบรวมวัตถุที่จำเป็นทั้งหมดในมุมมองตารางแบบเรียบ

การดำเนินการค้นหาวัตถุ AD ส่วนใหญ่สามารถทำได้โดยใช้ cmdlets จากโมดูล PowerShell สำหรับ Active Directory (เช่น Get-ADUser, Get-ADComputer, Get-ADObject, Get-ADGroup, Search-ADAccount เป็นต้น) dsquery เครื่องมือ .exe, สคริปต์ vbs เป็นต้น อย่างไรก็ตาม ผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบสามารถใช้ ADUC GUI เพื่อแสดงข้อมูลเกี่ยวกับวัตถุ AD ได้ง่ายกว่ามาก

ข้อความค้นหาที่บันทึกไว้ใน Active Directory ถูกนำมาใช้ครั้งแรกใน Windows Server 2003 และได้รับการสนับสนุนเพิ่มเติมใน Windows Server เวอร์ชันหลังๆ หากต้องการใช้แบบสอบถาม AD ที่บันทึกไว้ คุณต้องติดตั้งคอนโซล ADUC ไว้ในคอมพิวเตอร์ของคุณ (เป็นส่วนหนึ่งของเครื่องมือการดูแลระบบ RSAT)

วิธีสร้างแบบสอบถามที่บันทึกไว้ในคอนโซล Active Directory MMC

มาดูตัวอย่างทั่วไปสองสามตัวอย่างในการใช้การสืบค้น LDAP ที่บันทึกไว้ในคอนโซลผู้ใช้ Active Directory และคอมพิวเตอร์เพื่อค้นหาวัตถุ สมมติว่าเราต้องแสดงรายชื่อบัญชีผู้ใช้ที่ใช้งานอยู่ ชื่อแผนก และที่อยู่อีเมล

  1. เปิดคอนโซล ADUC (

    dsa.msc

    ) คลิกขวา แบบสอบถามที่บันทึกไว้ และเลือก ใหม่ - > แบบสอบถาม;

  2. ในช่อง ชื่อ ให้ระบุชื่อของแบบสอบถามที่บันทึกไว้เพื่อแสดงในคอนโซล ADUC

  3. ในฟิลด์ รากของข้อความค้นหา คุณสามารถระบุคอนเทนเนอร์ (OU) ที่คุณต้องการค้นหาได้ ตามค่าเริ่มต้น การค้นหาตามเกณฑ์การสืบค้นจะดำเนินการในโดเมน AD ทั้งหมด ในตัวอย่างของเรา เราจะจำกัดขอบเขตการค้นหาให้แคบลงโดยเลือกคอนเทนเนอร์ บราซิล

  4. จากนั้นคลิกที่ปุ่ม กำหนดข้อความค้นหา และเลือก การค้นหาที่กำหนดเอง ในรายการแบบเลื่อนลง ค้นหา

  5. ไปที่แท็บ ขั้นสูง และคัดลอกข้อความค้นหา LDAP ต่อไปนี้ลงในช่อง ป้อนข้อความค้นหา LDAP ข้อความค้นหานี้เลือกบัญชีผู้ใช้ที่เปิดใช้งาน (ดูตัวอย่างข้อความค้นหา LDAP อื่นๆ ในตารางด้านล่าง):

    (&(objectcategory=person)(objectclass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2))

  6. บันทึกการเปลี่ยนแปลงโดยคลิกตกลง

  7. เลือกแบบสอบถามที่สร้างขึ้นในคอนโซล ADUC กด F5 เพื่อสร้างรายการวัตถุ ด้วยเหตุนี้ รายชื่อผู้ใช้จะปรากฏในหน้าต่างด้านขวาซึ่งตรงกับข้อความค้นหา LDAP ของคุณ

  8. หากต้องการแสดงแอตทริบิวต์ของผู้ใช้เพิ่มเติม (ที่อยู่อีเมล แผนก ฯลฯ) ให้เปิดเมนู มุมมอง ในคอนโซล ADUC และเลือก เพิ่ม/ลบคอลัมน์

  9. เพิ่มคอลัมน์ที่คุณต้องการ เราได้เพิ่มฟิลด์เพิ่มเติม 3 ฟิลด์: ชื่อผู้ใช้เข้าสู่ระบบ ที่อยู่อีเมล แผนก;

  10. รายการบัญชีผู้ใช้ที่เป็นผลลัพธ์สามารถบันทึกเป็นไฟล์ CSV หรือ TXT เพื่อการวิเคราะห์เพิ่มเติมและนำเข้าสู่ Excel โดยคลิกขวาที่แบบสอบถามที่บันทึกไว้และเลือกรายการเมนู ส่งออกรายการ

    หมายเหตุ คุณยังสามารถรับข้อมูลจาก AD โดยใช้ PowerShell และบันทึกลงในไฟล์ Excel ได้โดยตรง

ในคอนโซล ADUC คุณสามารถสร้างคิวรีที่บันทึกไว้ที่แตกต่างกันจำนวนหนึ่งเพื่อจัดระเบียบในโครงสร้างแบบต้นไม้ ด้วยวิธีนี้ คุณสามารถสร้างคอลเล็กชันการสืบค้น LDAP ที่สะดวกเพื่อดำเนินการจัดการ AD ทั่วไปได้อย่างรวดเร็ว

สแน็ปอิน ADUC mmc สนับสนุนโหมดต่างๆ ของการสร้างแบบสอบถามที่บันทึกไว้ใน Active Directory ไม่จำเป็นต้องระบุโค้ดตัวกรอง LDAP ด้วยตัวเองทุกครั้ง คุณสามารถสร้างแบบสอบถาม AD ของคุณด้วยตัวช่วยสร้างแบบกราฟิกอย่างง่าย คุณเพียงแค่เลือกคุณลักษณะต่างๆ ของวัตถุ AD และใช้เพื่อค้นหาวัตถุตามเกณฑ์ที่คุณต้องการ ตัวอย่างเช่น หากต้องการแสดงรายการวัตถุคอมพิวเตอร์ Windows Server ทั้งหมดในโดเมน:

  1. ค้นหา -> คอมพิวเตอร์;

  2. ไปที่แท็บขั้นสูง

  3. ฟิลด์ -> ระบบปฏิบัติการ;

  4. ติดดาวด้วย -> ระบุเกณฑ์ของคุณ

    Windows Server *

สัญลักษณ์แทนคือ

*

คุณสามารถระบุได้

*Server*

สามารถเพิ่มเกณฑ์การค้นหาได้หลายรายการในการค้นหาที่บันทึกไว้

บันทึกแบบสอบถามและรีเฟรชรายการวัตถุในคอนโซล ADUC รายการจะแสดงวัตถุ Windows Server ทั้งหมดในโดเมนของคุณ

แบบสอบถามที่บันทึกไว้จะถูกจัดเก็บไว้ในเครื่องคอมพิวเตอร์ที่สร้างขึ้น ไฟล์ XML ที่มีการตั้งค่าอยู่ที่นี่: C:\Users\%USERNAME%\AppData\Roaming\Microsoft\MMC\DSA) หากต้องการโอนข้อความค้นหาที่บันทึก AD ระหว่างคอมพิวเตอร์ มีคุณลักษณะสำหรับนำเข้า/ส่งออกข้อความค้นหาเป็นไฟล์ XML ใน dsa.msc (ส่งออกข้อกำหนดข้อความค้นหา/นำเข้าข้อกำหนดข้อความค้นหา)

ตัวอย่างแบบสอบถามที่บันทึกไว้ที่เป็นประโยชน์สำหรับ Active Directory MMC

ตารางต่อไปนี้ประกอบด้วยตัวอย่างการสืบค้น LDAP ที่ใช้กันทั่วไปเพื่อเลือกวัตถุ Active Directory คุณสามารถบันทึกไว้ในคอนโซล ADUC ของคุณสำหรับการใช้งานประจำวัน

อันดับแรกคือ "การสืบค้น ADUC ที่บันทึกไว้" จากนั้นจึงตามมาด้วย "ตัวกรอง LDAP"

ค้นหาคำหลัก ' admin' ในชื่อผู้ใช้:

(objectcategory=group)(samaccountname=*admin*)

ค้นหาบัญชีผู้ใช้ด้วยคำหลัก "บริการ" ในฟิลด์คำอธิบาย:

(objectcategory=person)(description=*service*)

แสดงรายการกลุ่ม Active Directory ที่ว่างเปล่า (ไม่มีผู้ใช้):

(objectCategory=group)(!member=*)

ผู้ใช้ที่เปิดใช้งานตัวเลือก “รหัสผ่านไม่มีวันหมดอายุ”:

(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=65536)

ผู้ใช้ที่ไม่ได้เปลี่ยนรหัสผ่านนานกว่า 3 เดือน:

(&(sAMAccountType=805306368)(pwdLastSet<=132161330597286610))

ค้นหาผู้ใช้ที่มี "การขาย " ในฟิลด์แผนก:

(&(objectCategory=person)(objectClass=user)(department=*sales*))

ผู้ใช้ที่มีแอตทริบิวต์เส้นทางโปรไฟล์ว่างเปล่า:

(objectcategory=person)(!profilepath=*)

บัญชีผู้ใช้ที่มีรหัสผ่านหมดอายุ:

(objectCategory=person)(objectClass=user)(pwdLastSet=0)(!useraccountcontrol:1.2.840.113556.1.4.803:=2)

ผู้ใช้ AD ทั้งหมด ยกเว้นผู้พิการ:

(objectCategory=person)(objectClass=user)(!useraccountcontrol:1.2.840.113556.1.4.803:=2)

บัญชีผู้ใช้ AD ที่ถูกล็อค:

(objectCategory=person)(objectClass=user)(useraccountcontrol:1.2.840.113556.1.4.803:=16)

ผู้ใช้ที่มีที่อยู่อีเมล:

(objectcategory=person)(mail=*)

ผู้ใช้ที่ไม่มีที่อยู่อีเมล:

(objectcategory=person)(!mail=*)

ผู้ใช้ที่ซ่อนจาก Exchange Address Book (GAL)::

(&(sAMAccountType=805306368)(msExchHideFromAddressLists=TRUE))

รายชื่อบัญชีที่ไม่เคยเข้าสู่ระบบโดเมน (สามารถดูข้อมูลเวลาเข้าสู่ระบบครั้งล่าสุดได้ในมุมมองที่สะดวกยิ่งขึ้นในแท็บข้อมูลบัญชีเพิ่มเติมใน AD):

(&(objectCategory=person)(objectClass=user)(|(lastLogonTimestamp=0)(!(lastLogonTimestamp=*)))

บัญชีผู้ใช้ที่สร้างขึ้นในช่วงเวลาที่กำหนด (ในปี 2019):

(&(&(objectCategory=user)(whenCreated>=20190101000000.0Z&<=20200101000000.0Z&)))

ผู้ใช้โฆษณาที่สร้างขึ้นในปีนี้:

(&(&(&(objectClass=User)(whenCreated>=20200101000000.0Z))))

คอมพิวเตอร์ที่ใช้ Windows 10:

(&(objectCategory=computer)(operatingSystem=Windows 10*))

คอมพิวเตอร์ที่ใช้ Windows 10 รุ่นใดรุ่นหนึ่ง (เช่น Windows 10 1909 มีหมายเลขรุ่น 18363):

(&(&(objectCategory=computer)(operatingSystem=Windows 10*)(operatingSystemVersion=*18363*)))

ค้นหา Windows Server 2016 ทั้งหมดยกเว้นตัวควบคุมโดเมน:

(&(&(objectCategory=computer)(!(primaryGroupId=516)))(operatingSystem=Windows Server 2016*))

เซิร์ฟเวอร์ Microsoft SQL ทั้งหมด:

(&(objectCategory=computer)(servicePrincipalName=MSSQLSvc*))

กลุ่มการแจกจ่าย Exchange ทั้งหมด:

(&(objectCategory=group)(!groupType:1.2.840.113556.1.4.803:=2147483648))

ค้นหาวัตถุ AD ด้วย SID เฉพาะ:

(objectSID=S-1-5-21-87654321-12345678-5566443311-1231)

การใช้ตัวกรอง LDAP ใน PowerShell

คุณสามารถใช้ตัวกรอง LDAP ด้านบนเพื่อค้นหาวัตถุ AD ในคอนโซล PowerShell cmdlets ส่วนใหญ่จากโมดูล PowerShell Active Directory มีลักษณะพิเศษ พารามิเตอร์ LdapFilter คุณต้องระบุการค้นหา LDAP ของคุณในพารามิเตอร์นี้ ตัวอย่างเช่น:

Get-ADUser -LdapFilter "(&(objectCategory=person)(objectClass=user)(department=*Sales department*))"| ft -a DisplayName,department

Get-ADUSer, Get-ADComputer และ Get-ADGroup cmdlet เป็น cmdlet เฉพาะทางและใช้เพื่อค้นหาวัตถุบางประเภท เช่น ผู้ใช้ คอมพิวเตอร์ หรือกลุ่ม หากคุณไม่ทราบประเภทของวัตถุ AD ที่คุณต้องการ หรือถ้าคุณต้องการข้อมูลเกี่ยวกับวัตถุทุกประเภท ให้ใช้ cmdlet Get-ADObject ทั่วไป ตัวอย่างเช่น หากต้องการค้นหาวัตถุด้วย SID:

Get-ADObject -LdapFilter "(objectSID=S-1-5-21-87654321-12345678-5566443311-1231)" -Properties * -SearchBase “OU=DE,DC=a-d,DC=com"| ft -a DisplayName,Title

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