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

รับการกรอง SearchString MsolUser


หากต้องการค้นหาผู้ใช้ใน Azure AD ด้วยคำสั่ง Get-MsolUser คุณมีสองตัวเลือกโดยทั่วไป:

  • แยกผู้ใช้ทั้งหมดและค้นหาชุดผลลัพธ์
  • ใช้พารามิเตอร์ SearchString เพื่อจำกัดเซิร์ฟเวอร์ชุดผลลัพธ์ (คลาวด์) ฝั่ง

หากคุณต้องทำการค้นหา AD ภายในองค์กร ฉันขอแนะนำให้ใช้ตัวกรอง LDAP เสมอเพื่อจำกัดชุดผลลัพธ์และปรับปรุงประสิทธิภาพ

แต่ด้วยวิธี Get-MsolUser SearchString ฉันไม่แน่ใจเหมือนกัน:

คำสั่ง Get-MsolUser SearchString มีข้อจำกัดในการทำงานมาก

จากการทดสอบ ดูเหมือนว่า Get-MsolUser -SearchString ทำการค้นหา 'สตริงการค้นหา + ไวด์การ์ด' ในแอตทริบิวต์ DisplayName, FirstName และ LastName

เอกสารจาก Microsoft มีความคลุมเครือมาก (ถ้าไม่ผิดเลย) เกี่ยวกับเรื่องนี้

ลองดูตัวอย่างต่อไปนี้:

PS C:\> Get-MsolUser -UserPrincipalName lene.hau@azure.skrubbeltrang.com | fl FirstName,LastName,DisplayName

FirstName   : Lene
LastName    : Hau
DisplayName : Awesome Scientist

ต่อไปนี้เป็นข้อความค้นหาที่แตกต่างกันโดยใช้พารามิเตอร์ SearchString เพื่ออธิบายประเด็นของฉัน:

PS C:\> Get-MsolUser -SearchString Len

UserPrincipalName                DisplayName       isLicensed
-----------------                -----------       ----------
lene.hau@azure.skrubbeltrang.com Awesome Scientist True

PS C:\> Get-MsolUser -SearchString ene
PS C:\> Get-MsolUser -SearchString Hau

UserPrincipalName                DisplayName       isLicensed
-----------------                -----------       ----------
lene.hau@azure.skrubbeltrang.com Awesome Scientist True

PS C:\> Get-MsolUser -SearchString Awe

UserPrincipalName                DisplayName       isLicensed
-----------------                -----------       ----------
lene.hau@azure.skrubbeltrang.com Awesome Scientist True

PS C:\> Get-MsolUser -SearchString Scien
PS C:\>

อาจมีการค้นหาคุณลักษณะอื่นที่ฉันไม่ได้ระบุ

แต่คุณสามารถคิดได้ไม่มากก็น้อย:

(FirstName StartsWith [string]) OR (LastName StartsWith [string] OR DisplayName StartsWith [string])

วิธีค้นหานี้อาจมีประโยชน์ในการระบุอย่างรวดเร็วว่ามีผู้ใช้ที่ระบุอยู่ใน Azure AD หรือไม่

แต่ในฐานะที่เป็นส่วนหนึ่งของแผนการค้นหาที่ยิ่งใหญ่กว่านั้น มันก็ค่อนข้างไร้ประโยชน์เลยทีเดียว

ทางเลือกที่ดีที่สุด (อนิจจาที่ทำงานช้าในสภาพแวดล้อมขององค์กรขนาดใหญ่) คือการดึงข้อมูลทุกอย่างและค้นหาในเครื่อง:

Get-MsolUser | ? {$_.Country -eq 'Denmark' -and $_.DisplayName -Like '*Scientist*'}

ตามที่เห็นข้างต้น คุณสามารถค้นหาแอตทริบิวต์ใดๆ และดูภายในแอตทริบิวต์สตริงได้:

PS C:\> Get-MsolUser | ? {$_.Country -eq 'Denmark' -and $_.DisplayName -Like '*Scientist*'}

UserPrincipalName                DisplayName       isLicensed
-----------------                -----------       ----------
lene.hau@azure.skrubbeltrang.com Awesome Scientist True

… เพียงเพื่อแสดงสองสิ่งที่ไม่สามารถทำได้ด้วยพารามิเตอร์ SearchString

ฉันแน่ใจว่าความไร้ประโยชน์ของพารามิเตอร์ SearchString จะดึงความร้อนไปจากโครงสร้างพื้นฐานคลาวด์ของ Microsoft อย่างมาก

การค้นหาจะดีกว่าดำเนินการในพื้นที่หลังจากดึงล็อตมาแล้ว… ?

วิธีค้นหาและแก้ไขผู้ใช้ Hybrid Office 365 อย่างรวดเร็ว

วิธีหนึ่งที่จะทำให้ชีวิตผู้ดูแลระบบของคุณง่ายขึ้นมากคือการใช้ Easy365Manager

Easy365Manager เป็นสแน็ปอินสำหรับผู้ใช้ AD และคอมพิวเตอร์ที่แสดงกล่องจดหมาย Office 365 และการกำหนดค่าใบอนุญาต

คุณสามารถค้นหาบัญชีผู้ใช้ใดๆ ใน AD Users & Computers ได้อย่างง่ายดาย และแก้ไขการตั้งค่า Office 365 ของคุณ (ใช่ คุณไม่จำเป็นต้องเปิดคอนโซลเว็บหรือใช้ PowerShell ด้วยซ้ำ)

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

(หากไม่มี Easy365Manager การมอบหมายปฏิทินต้องใช้ PowerShell'ing ที่น่ารังเกียจ โดยมีหนึ่งคำสั่งเพื่อเพิ่มสิทธิ์ อีกคำสั่งหนึ่งเพื่อแก้ไขสิทธิ์ และคำสั่งที่สามเพื่อรับชื่อโฟลเดอร์ของปฏิทินกล่องจดหมาย ?)

คุณสามารถดาวน์โหลดและติดตั้ง Easy365Manager ได้ภายในไม่กี่นาที และคุณจะเริ่มประหยัดเวลาได้ทันทีโดยใช้อินเทอร์เฟซผู้ใช้แบบกราฟิกที่ใช้งานง่าย:

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