รับการกรอง 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 ได้ภายในไม่กี่นาที และคุณจะเริ่มประหยัดเวลาได้ทันทีโดยใช้อินเทอร์เฟซผู้ใช้แบบกราฟิกที่ใช้งานง่าย:
