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

วิธีใช้ Get-MgUser ใน Microsoft Graph PowerShell


คำสั่ง Get-MgUser ใน Microsoft Graph PowerShell ได้รับการออกแบบมาโดยเฉพาะเพื่อดึงข้อมูลเกี่ยวกับผู้ใช้ในผู้เช่า Microsoft 365 ของคุณที่จัดเก็บไว้ใน Azure Active Directory (Microsoft Entra) การจัดการผู้ใช้ใน Azure AD ถือเป็นงานที่สำคัญสำหรับผู้ดูแลระบบ ดังนั้น การทำความเข้าใจ cmdlet Get-MgUser จึงเป็นสิ่งสำคัญสำหรับการจัดการข้อมูลผู้ใช้ภายใน Microsoft Graph ผ่าน PowerShell คำสั่งนี้ช่วยให้คุณดึงคุณสมบัติผู้ใช้และความสัมพันธ์ได้อย่างมีประสิทธิภาพ โดยนำเสนอพารามิเตอร์ต่างๆ เช่น ตัวกรอง, คุณสมบัติ และ การค้นหา เพื่อปรับแต่งการดึงข้อมูลของคุณ กระบวนการ ในบทความที่ครอบคลุมนี้ ฉันจะแนะนำคุณตลอดกระบวนการใช้ Get-MgUser เพื่อดึงข้อมูลผู้ใช้ Azure AD ตั้งแต่การใช้งานขั้นพื้นฐานไปจนถึงขั้นสูง และให้คำแนะนำ

ทำความเข้าใจกับคำสั่ง Get-MgUser

เพื่อเริ่มต้นการเดินทางสู่โลกของ Get-MgUser เรามาทำความเข้าใจก่อนว่าคำสั่งนี้ทำอะไร Get-MgUser คือ PowerShell cmdlet ที่ช่วยให้คุณสามารถดึงข้อมูลเกี่ยวกับผู้ใช้ใน Microsoft 365 ไม่ว่าคุณจะต้องการค้นหาคุณสมบัติผู้ใช้เฉพาะ กรองผู้ใช้ตามเกณฑ์ที่กำหนด หรือดึงสิทธิ์การใช้งาน Get-MgUser ก็พร้อมช่วยเหลือคุณแล้ว

ในการเริ่มต้นใช้งาน Get-MgUser คุณจะต้องเชื่อมต่อกับสภาพแวดล้อม Microsoft 365 ของคุณจาก PowerShell ผ่าน Microsoft Graph โดยใช้ข้อมูลประจำตัวที่เหมาะสม เมื่อเชื่อมต่อแล้ว คุณสามารถรันคำสั่ง Get-MgUser ตามด้วยพารามิเตอร์ต่างๆ เพื่อปรับแต่งผลลัพธ์ให้ตรงกับความต้องการเฉพาะของคุณ ไม่ว่าคุณจะเป็นมือใหม่หรือผู้ใช้ PowerShell ที่มีประสบการณ์ บทความนี้จะช่วยให้คุณเข้าใจวิธีใช้ Get-MgUser อย่างมีประสิทธิภาพ

การติดตั้งโมดูล Microsoft Graph PowerShell

ก่อนที่จะดำดิ่งสู่โลกของ Microsoft Graph ด้วย PowerShell การติดตั้ง Microsoft Graph PowerShell Module ถือเป็นก้าวแรกที่สำคัญ โมดูลนี้เป็น wrapper ที่ครอบคลุมสำหรับ Microsoft Graph API แทนที่โมดูล Azure AD รุ่นเก่า ซึ่งให้วิธีการที่มีประสิทธิภาพและมีประสิทธิภาพในการโต้ตอบกับบริการทั้งหมดของ Microsoft คำแนะนำที่ตรงไปตรงมาในการเริ่มต้นใช้งานมีดังนี้

หากต้องการตรวจสอบว่าติดตั้ง Microsoft Graph Module แล้วหรือไม่ ให้ใช้ Get-InstalledModule cmdlet:


Get-InstalledModule Microsoft.Graph

ข้อกำหนดเบื้องต้นในการติดตั้ง

  • ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง PowerShell เวอร์ชันล่าสุดบนระบบของคุณ Microsoft Graph PowerShell Module รองรับทั้ง Windows PowerShell 5.1 และ PowerShell 7
  • ตรวจสอบว่าคุณมีสิทธิ์การเข้าถึงของผู้ดูแลระบบใน Azure AD (Microsoft Entra) นี่เป็นสิ่งสำคัญสำหรับการรันคำสั่ง Get-MgUser โดยไม่ต้องเผชิญกับข้อผิดพลาด "สิทธิ์ไม่เพียงพอ"

ขั้นตอนการติดตั้ง

เมื่อต้องการติดตั้งโมดูล Microsoft Graph PowerShell สำหรับ Windows ให้ทำตามขั้นตอนเหล่านี้:

  • เปิดคอนโซล PowerShell หรือ Windows Terminal ในฐานะผู้ดูแลระบบ
  • เรียกใช้คำสั่ง: Install-Module Microsoft.Graph -Scope CurrentUser สิ่งนี้จะติดตั้งโมดูลสำหรับผู้ใช้ปัจจุบัน เพื่อหลีกเลี่ยงการเปลี่ยนแปลงทั้งระบบ
  • หากได้รับแจ้ง ให้ยอมรับพื้นที่เก็บข้อมูลที่ไม่น่าเชื่อถือเพื่อดำเนินการติดตั้งต่อ

คำสั่งนี้จะดาวน์โหลดและติดตั้งโมดูล Microsoft Graph PowerShell เวอร์ชันล่าสุดจาก PowerShell Gallery

เวอร์ชันเบต้าเสริม: สำหรับการเข้าถึงคุณลักษณะและ cmdlets ล่าสุด สามารถติดตั้งเวอร์ชันเบต้าได้โดยใช้: Install-Module Microsoft.Graph.Beta -Scope CurrentUser

โมดูล Microsoft Graph PowerShell อำนวยความสะดวกในแนวทางแบบครบวงจรในการจัดการบริการ Microsoft Cloud และสนับสนุนวิธีการรับรองความถูกต้องสมัยใหม่บนหลายแพลตฟอร์ม ลักษณะโอเพ่นซอร์สและการอัปเดตเป็นประจำทำให้มั่นใจได้ว่าเข้ากันได้กับการเปลี่ยนแปลง Graph API ล่าสุด ทำให้เป็นเครื่องมือที่จำเป็นสำหรับผู้ดูแลระบบและนักพัฒนา

การเชื่อมต่อกับ Microsoft Graph ด้วย PowerShell

การเชื่อมต่อกับ Microsoft Graph ด้วย PowerShell เป็นกระบวนการที่ไม่ซับซ้อน แต่ต้องอาศัยการเอาใจใส่อย่างระมัดระวังต่อสิทธิ์และขอบเขตเพื่อให้แน่ใจว่าคุณมีสิทธิ์เข้าถึงที่จำเป็นเพื่อดำเนินงานตามที่คุณตั้งใจไว้ คำแนะนำทีละขั้นตอนในการสร้างการเชื่อมต่อที่ปรับแต่งสำหรับวิธีการเข้าถึงทั้งที่ได้รับมอบสิทธิ์และเฉพาะแอปเท่านั้น

การเชื่อมต่อการเข้าถึงที่ได้รับมอบหมาย

  1. กำหนดสิทธิ์ที่จำเป็น: ใช้ cmdlets Find-MgGraphPermission หรือ Find-MgGraphCommand เพื่อระบุสิทธิ์ที่จำเป็นสำหรับงานของคุณ ขอบเขตทั่วไปสำหรับการจัดการผู้ใช้ ได้แก่ User.Read.All สำหรับการอ่านโปรไฟล์ผู้ใช้ และ AuditLog.Read.All สำหรับการเข้าถึงบันทึกการตรวจสอบ
  2. เชื่อมต่อกับ Microsoft Graph: ดำเนินการ Connect-MgGraph -Scopes "User.Read.All", "AuditLog.Read.All" ใน PowerShell
  3. ตรวจสอบการเชื่อมต่อ: เรียกใช้คำสั่งทดสอบ Get-MgUser เพื่อยืนยันการเชื่อมต่อที่สำเร็จและการเข้าถึงบัญชีผู้ใช้ในผู้เช่าของคุณ
  4. หากคุณเชื่อมต่อเป็นครั้งแรก หน้าต่างขออนุญาตจะปรากฏขึ้น ให้สิทธิ์ผู้ดูแลระบบเพื่อดำเนินการต่อ

การเชื่อมต่อการเข้าถึงเฉพาะแอปโดยใช้ Azure App ID

หากต้องการเชื่อมต่อกับ Microsoft Graph โดยใช้การเชื่อมต่อการเข้าถึงเฉพาะแอป คุณต้องลงทะเบียนแอปในศูนย์การจัดการ Microsoft Entra และเชื่อมโยงความลับไคลเอ็นต์ (รหัสผ่านแอปพลิเคชัน) ใบรับรอง หรือข้อมูลประจำตัวแบบรวมศูนย์ จากนั้นกำหนดค่าการอนุญาตแอปพลิเคชัน Microsoft Graph บนแอป เพิ่มเติมที่นี่: วิธีเชื่อมต่อกับ Microsoft Graph โดยใช้ PowerShell

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

เคล็ดลับเพิ่มเติม:

  • การสลับเวอร์ชัน API: หากต้องการเข้าถึงคุณลักษณะล่าสุดหรือคำสั่งเบต้า ให้เปลี่ยนไปใช้เวอร์ชันเบต้าโดยใช้ Select-MgProfile -Name Beta
  • ขอบเขตการอนุญาต: ตรวจสอบขอบเขตการอนุญาตที่จำเป็นเสมอ (User.Read.All, Group.ReadWrite.All) สำหรับการดำเนินงานของคุณ โดยทั่วไปสิทธิ์เหล่านี้จำเป็นต้องมีบัญชีที่มีบทบาทผู้ดูแลระบบแอปพลิเคชัน ผู้ดูแลระบบแอปพลิเคชันคลาวด์ หรือผู้ดูแลระบบส่วนกลาง
  • การตัดการเชื่อมต่อ: อย่าลืมยกเลิกการเชื่อมต่อเซสชันของคุณหลังจากงานของคุณเสร็จสิ้น โดยใช้ Disconnect-MgGraph เพื่อรักษาความปลอดภัย

ด้วยการทำตามขั้นตอนและเคล็ดลับเหล่านี้ คุณจะสามารถเชื่อมต่อกับ Microsoft Graph ด้วย PowerShell ได้อย่างมีประสิทธิภาพ ซึ่งช่วยให้คุณสามารถจัดการบริการและข้อมูล Microsoft 365 ได้อย่างแม่นยำและมีประสิทธิภาพ ไม่ว่าคุณจะใช้การเข้าถึงที่ได้รับมอบสิทธิ์สำหรับการดำเนินการเฉพาะของผู้ใช้หรือการเข้าถึงเฉพาะแอปสำหรับงานที่กว้างขึ้นและขับเคลื่อนด้วยแอปพลิเคชัน การทำความเข้าใจกระบวนการเชื่อมต่อและสิทธิ์ที่จำเป็นเป็นกุญแจสำคัญในการใช้ประโยชน์จากประสิทธิภาพสูงสุดของ Microsoft Graph

ตอนนี้เรามีความเข้าใจพื้นฐานเกี่ยวกับ Get-MgUser แล้ว เรามาดูตัวอย่างการใช้งานจริงของวิธีใช้คำสั่งนี้เพื่อดึงข้อมูลผู้ใช้อย่างมีประสิทธิภาพกันดีกว่า

การดึงรายละเอียดผู้ใช้คนเดียวด้วย Get-MgUser cmdlet

การเรียกรายละเอียดสำหรับผู้ใช้รายเดียวใน Microsoft Graph โดยใช้ Get-MgUser cmdlet เป็นกระบวนการที่ไม่ซับซ้อนซึ่งสามารถปรับแต่งให้ดึงข้อมูลผู้ใช้ที่เฉพาะเจาะจงตามความต้องการของคุณได้ ต่อไปนี้คือวิธีที่คุณสามารถใช้ cmdlet นี้อย่างมีประสิทธิภาพเพื่อรวบรวมข้อมูลโดยละเอียดเกี่ยวกับผู้ใช้แต่ละราย:

การดึงข้อมูลผู้ใช้ขั้นพื้นฐาน

หากต้องการรับข้อมูลพื้นฐานเกี่ยวกับผู้ใช้รายเดียว คุณสามารถใช้พารามิเตอร์ -UserId กับ ID ของผู้ใช้หรือ UserPrincipalName ตัวอย่างเช่น:


Get-MgUser -UserId john.doe@Crescent.com

คำสั่งนี้จะดึงข้อมูลรายละเอียดพื้นฐานของผู้ใช้ เช่น ID ชื่อที่แสดง ที่อยู่อีเมล และชื่อหลักของผู้ใช้ คุณยังสามารถส่งผ่าน Object ID ของผู้ใช้ไปยัง cmdlet นี้ได้อีกด้วย

การขยายข้อมูลผู้ใช้

คุณสามารถใช้พารามิเตอร์ -ExpandProperty สำหรับข้อมูลโดยละเอียดเพิ่มเติม รวมถึงความสัมพันธ์ เช่น ผู้จัดการของผู้ใช้หรือผู้ใต้บังคับบัญชาโดยตรง เช่น หากต้องการดึงรายละเอียดผู้จัดการของผู้ใช้ ให้ดำเนินการ:


Get-MgUser -UserId "michael.brown@Crescent.com" -ExpandProperty Manager | Select-Object @{Name = 'Manager'; Expression = {$_.Manager.AdditionalProperties.mail}}

ในทำนองเดียวกัน หากต้องการดูรายการผู้ใต้บังคับบัญชาโดยตรงของผู้ใช้:


Get-MgUser -UserId AdeleV@Crescent.com -ExpandProperty directReports | Select-Object @{Name = 'DirectReports'; Expression = {$_.directReports.AdditionalProperties.mail}}

การปรับแต่งการดึงข้อมูล

Get-MgUser cmdlet ให้ความยืดหยุ่นในแง่ของข้อมูลที่คุณสามารถดึงข้อมูลได้ ด้วยการใช้พารามิเตอร์ เช่น -Property และ -Filter คุณสามารถปรับแต่งผลลัพธ์ให้ตรงกับความต้องการเฉพาะของคุณได้

เลือกคุณสมบัติเฉพาะ:

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

หากต้องการทราบที่ตั้งแผนกและสำนักงานของผู้ใช้ คุณจะต้องใช้:


Get-MgUser -UserId Steve@Crescent.com -Property DisplayName, mail,department | Select-Object DisplayName, Mail, Department

หากต้องการรับคุณสมบัติที่มีอยู่ทั้งหมดของวัตถุผู้ใช้ คุณสามารถใช้ get-member cmdlet:


Get-Mguser | Get-Member -MemberType Property

คำสั่งนี้จะส่งคืนคุณสมบัติที่มีอยู่ทั้งหมดสำหรับผู้ใช้ทุกคนในสภาพแวดล้อม Microsoft 365 ของคุณ

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


Get-MgUser -Filter "department eq 'Sales'" -All

การเลือกคุณสมบัติเฉพาะ: คุณอาจไม่ต้องการข้อมูลทั้งหมดที่ให้ไว้ตามค่าเริ่มต้นเสมอไป หากต้องการดึงเฉพาะคุณสมบัติเฉพาะ เช่น ชื่อที่แสดง และ อีเมล ให้ใช้ Select-Object cmdlet ตัวอย่างเช่น:


Get-MgUser | Select-Object DisplayName, Mail

คำสั่งนี้จะกรองเอาต์พุตให้รวมเฉพาะชื่อที่แสดงและที่อยู่อีเมลของผู้ใช้เท่านั้น

คำสั่งและพารามิเตอร์ของ Get-MgUser cmdlet ไม่เพียงอำนวยความสะดวกในการเรียกข้อมูลผู้ใช้ที่หลากหลายจาก Azure Active Directory (Azure AD) แต่ยังเน้นย้ำถึงความเก่งกาจของ cmdlet ในการจัดการงานการจัดการผู้ใช้ต่างๆ ด้วยการทำความเข้าใจและใช้ตัวเลือกเหล่านี้ คุณสามารถจัดการข้อมูลผู้ใช้ภายในสภาพแวดล้อม Microsoft 365 ของคุณได้อย่างมีประสิทธิภาพ ทำให้คุณมั่นใจได้ว่าคุณสามารถเข้าถึงข้อมูลที่เกี่ยวข้องและอัปเดตล่าสุดได้ตามต้องการ

รับรายชื่อผู้ใช้ Microsoft 365 ทั้งหมด

การดึงข้อมูลเกี่ยวกับผู้ใช้ทั้งหมดภายใน Microsoft Entra ID และสภาพแวดล้อม Microsoft 365 ของคุณถือเป็นงานที่สำคัญสำหรับผู้ดูแลระบบ Get-MgUser cmdlet ซึ่งเป็นส่วนประกอบของ Microsoft Graph PowerShell SDK ทำให้กระบวนการนี้ง่ายขึ้นโดยนำเสนอพารามิเตอร์ต่างๆ ที่ปรับแต่งมาเพื่อการจัดการผู้ใช้ที่ครอบคลุม ต่อไปนี้เป็นวิธีใช้ประโยชน์จาก Get-MgUser เพื่อดึงข้อมูลผู้ใช้ทั้งหมดอย่างมีประสิทธิภาพ:

คำสั่งพื้นฐานสำหรับการดึงข้อมูลผู้ใช้ทั้งหมด

ตามค่าเริ่มต้น Get-MgUser cmdlet จะส่งกลับผลลัพธ์ 100 รายการแรกเท่านั้น หากต้องการแสดงรายการผู้ใช้ทุกคนใน Azure Active Directory ของคุณ ให้ใช้พารามิเตอร์ -All พร้อมด้วย Get-MgUser cmdlet คำสั่งนี้จะแบ่งหน้าผู้ใช้ทั้งหมด เพื่อให้มั่นใจว่าคุณจะได้รับทุกบัญชี:


Get-MgUser -All

คำสั่งนี้จะส่งคืนรายชื่อผู้ใช้ทั้งหมดในผู้เช่าของคุณ พร้อมด้วยคุณสมบัติพื้นฐาน

หากต้องการดูรายละเอียดเพิ่มเติม รวมถึง ID, DisplayName, Mail และ UserPrincipalName คุณสามารถจัดรูปแบบเอาต์พุตได้:


Get-MgUser -All | Format-List ID, DisplayName, Mail, UserPrincipalName

การกรองและการเรียงลำดับผู้ใช้ตามคุณสมบัติ

แม้ว่าตัวเลือกการกรองพื้นฐานของ Get-MgUser จะมีประสิทธิภาพ แต่อาจมีสถานการณ์ที่คุณต้องการความสามารถในการกรองขั้นสูงเพิ่มเติม โชคดีที่ Get-MgUser มีพารามิเตอร์เพิ่มเติมเพื่อช่วยคุณปรับแต่งการสืบค้นของคุณ คุณสามารถใช้พารามิเตอร์ -Filter กับตัวดำเนินการเช่น eq (เท่ากับ), ne (ไม่เท่ากัน), gt (มากกว่า), ge (มากกว่าหรือเท่ากับ), lt (น้อยกว่า) และ le (น้อยกว่าหรือเท่ากับ) และ startWith เพื่อจำกัดรายชื่อผู้ใช้ของคุณให้แคบลงตามเกณฑ์เฉพาะ

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


Get-MgUser -Filter "Department eq 'Marketing'"

คำสั่งนี้จะส่งคืนผู้ใช้ทั้งหมดที่แผนกถูกตั้งค่าเป็น "การตลาด"

มาดูตัวอย่างเพิ่มเติมเกี่ยวกับวิธีการกรองผู้ใช้จาก Azure Active Directory:

หากต้องการแสดงรายการผู้ใช้คลาวด์ทั้งหมด ยกเว้นแขก คุณสามารถใช้ตัวกรองเป็น:


Get-MgUser -Filter "UserType eq 'Member'" -All

หากต้องการดึงข้อมูลผู้ใช้ที่ซิงค์ภายในองค์กรและจัดเรียงตามชื่อที่แสดง:


Get-MgUser -Filter "OnPremisesSyncEnabled eq true" -All | Sort-Object DisplayName

มากรองผู้ใช้ทั้งหมดที่สร้างขึ้นในช่วง 30 วันที่ผ่านมา:


 Get-MgUser -Filter "CreatedDateTime ge $((Get-Date).AddDays(-30).ToString("s"))Z" -All

คุณสามารถรวมเงื่อนไขหลายข้อเข้ากับ AND หรือตัวดำเนินการเชิงตรรกะได้:


Get-MgUser -Filter "Country eq 'Canada' and Department eq 'Sales'"

นี่เป็นอีกตัวอย่างหนึ่งของการใช้ตัวดำเนินการ AND ในการสืบค้นขั้นสูง:


Get-MgUser -Filter "(accountEnabled eq true) and (startswith(Department,'Sales'))"

ตัวดำเนินการเปรียบเทียบอื่นๆ StartsWith, EndsWith และ NE ก็ได้รับการสนับสนุนเช่นกัน:


Get-MgUser -Filter "startsWith(mail,'steve')" -All -ConsistencyLevel Eventual

นอกเหนือจากการใช้พารามิเตอร์ Filter แล้ว คุณยังสามารถใช้ Where-Object cmdlet เพื่อกรองโปรไฟล์ผู้ใช้ด้วย (ซึ่งมีประสิทธิภาพน้อยกว่า!):


Get-MgUser -All | Where-Object {$_.DisplayName -like "*sam*"}

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

กรองตามชื่อผู้ใช้หลัก

หากคุณต้องการกรองผู้ใช้ตาม UserPrincipalName คุณสามารถใช้พารามิเตอร์ -Filter พร้อมกับคุณสมบัติ UserPrincipalName ตัวอย่างเช่น:


Get-MgUser -Filter "UserPrincipalName eq 'john.doe@Crescent.com'"

คำสั่งนี้จะส่งคืนผู้ใช้ด้วย UserPrincipalName ที่ระบุ

การกรองผู้ใช้ตามสถานะบัญชี

เพื่อจัดการบัญชีผู้ใช้ภายในสภาพแวดล้อม Microsoft 365 ของคุณอย่างมีประสิทธิภาพ โดยเฉพาะอย่างยิ่งในแง่ของสถานะบัญชี Get-MgUser cmdlet จึงมีความสามารถในการกรองที่มีประสิทธิภาพ ต่อไปนี้คือวิธีที่คุณสามารถใช้คุณสมบัติเหล่านี้เพื่อกรองและดึงสถานะบัญชีผู้ใช้:

การดึงสถานะบัญชี:

เริ่มต้นด้วยการรวมคุณสมบัติ AccountEnabled โดยใช้พารามิเตอร์ -Property การดำเนินการนี้ช่วยให้คุณเห็นว่าบัญชีถูกเปิดใช้งานหรือปิดใช้งานอยู่


Get-MgUser -all -Property Id, DisplayName, UserPrincipalName, AccountEnabled | Select-Object Id, DisplayName, UserPrincipalName, AccountEnabled

การกรองตามสถานะบัญชี:

พารามิเตอร์ -Filter เป็นเครื่องมือสำคัญเมื่อคุณตั้งเป้าที่จะแสดงรายการผู้ใช้ตามสถานะบัญชีของพวกเขา ไม่ว่าคุณจะต้องการระบุบัญชีที่เปิดใช้งานหรือปิดใช้งาน พารามิเตอร์นี้เมื่อรวมกับคุณสมบัติ accountEnabled จะทำให้ตรงไปตรงมา ตัวอย่างเช่น หากต้องการดึงข้อมูลเฉพาะผู้ใช้ที่เปิดใช้งาน:


Get-MgUser -Filter "accountEnabled eq true" -All

หากต้องการแสดงรายการผู้ใช้ที่ถูกปิดใช้งาน:


Get-MgUser -Filter "accountEnabled eq false"

อย่าลืมใช้ตัวดำเนินการ เช่น eq (เท่ากับ), และ, หรือ และ startswith สำหรับการสืบค้นที่ซับซ้อนมากขึ้น ตรวจสอบให้แน่ใจว่าแบบสอบถามตัวกรองอยู่ในเครื่องหมายคำพูดคู่และค่าสตริงอยู่ในเครื่องหมายคำพูดเดี่ยว

หากต้องการตรวจสอบสถานะบัญชีของผู้ใช้รายใดรายหนึ่ง ให้ใช้:


Get-MgUser -UserId "Steve@Crescent.com" -Property DisplayName, UserPrincipalName, AccountEnabled | Select-Object DisplayName, UserPrincipalName, AccountEnabled

ค้นหา Azure AD ด้วยพารามิเตอร์ -Search ของ Get-MgUser

พารามิเตอร์ -ค้นหา มีประโยชน์อย่างยิ่งสำหรับการค้นหาผู้ใช้ด้วยคำหลัก ซึ่งช่วยเพิ่มความจำเพาะของข้อความค้นหาของคุณ

สำหรับการค้นหาที่มีรายละเอียดมากขึ้น สามารถใช้พารามิเตอร์ -Search ร่วมกับตัวเลือก ConsistencyLevel eventual ได้ แนวทางนี้มีประโยชน์เมื่อคุณกำลังมองหาผู้ใช้ตามคุณสมบัติเฉพาะที่ไม่สามารถเข้าถึงได้โดยตรงผ่านพารามิเตอร์ -Filter


 Get-MgUser -Search "DisplayName:sam" -ConsistencyLevel Eventual

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

การได้รับข้อมูลผู้จัดการ

หากต้องการรับข้อมูลผู้จัดการสำหรับผู้ใช้ภายในสภาพแวดล้อม Microsoft 365 ของคุณ โดยใช้ประโยชน์จาก cmdlet Get-MgUser คุณสามารถขยายคุณสมบัติ "ผู้จัดการ" ได้ cmdlet นี้ช่วยให้คุณสามารถดึงรายละเอียดผู้จัดการของผู้ใช้ รวมถึงชื่อ ชื่อที่แสดง และที่อยู่อีเมล ซึ่งอาจเป็นส่วนสำคัญสำหรับการจัดโครงสร้างองค์กรและการวิเคราะห์โฟลว์การสื่อสาร ต่อไปนี้เป็นวิธีใช้ cmdlet นี้อย่างมีประสิทธิภาพ:

ใช้พารามิเตอร์ -UserId เพื่อระบุผู้ใช้ ตัวอย่างเช่น:


Get-MgUser -UserId "Steve@Crescent.com" -ExpandProperty Manager | Select-Object @{Name = 'Manager'; Expression = { $_.Manager.AdditionalProperties.displayName} }

คำสั่งนี้จะดึงรายละเอียดของผู้จัดการที่กำหนดให้กับผู้ใช้ที่ระบุโดย -UserId

การดึงข้อมูลผู้จัดการสำหรับผู้ใช้ทั้งหมด

หากต้องการรับข้อมูลผู้จัดการสำหรับผู้ใช้ทั้งหมด คุณสามารถรวมคำสั่งเข้าด้วยกันได้ เริ่มต้นด้วย Get-MgUser -All เพื่อแสดงรายชื่อผู้ใช้ทั้งหมด จากนั้นไพพ์ผลลัพธ์ไปที่ Select-Object ด้วยนิพจน์ที่กำหนดเองเพื่อแยกรายละเอียดของผู้จัดการ ตัวอย่างเช่น:


Get-MgUser -All -ExpandProperty Manager | Select-Object Id, UserPrincipalName, @{Name = 'Manager'; Expression = { $_.Manager.AdditionalProperties.mail } }

คำสั่งนี้จะแสดงรายการผู้ใช้ทั้งหมดพร้อมกับอีเมลของผู้จัดการอย่างมีประสิทธิภาพ ซึ่งแสดงให้เห็นถึงพลังของ PowerShell ในการจัดการกับการดำเนินการกับข้อมูลจำนวนมาก

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

รายชื่อผู้ใช้ที่ได้รับอนุญาตและไม่มีใบอนุญาต

Get-MgUser ยังอนุญาตให้คุณรับสิทธิ์การใช้งานสำหรับผู้ใช้ในสภาพแวดล้อม Microsoft 365 ของคุณ ตัวอย่างเช่น หากคุณต้องการเรียกข้อมูลรายชื่อผู้ใช้ที่ได้รับมอบหมายใบอนุญาต คุณสามารถกรองด้วยคุณสมบัติ AssignedLicenses นี่คือตัวอย่าง:


Get-MgUser -Filter 'assignedLicenses/$count ne 0' -ConsistencyLevel eventual -CountVariable licensedUserCount -All -Property UserPrincipalName, DisplayName,AssignedLicenses | Format-Table -Property UserPrincipalName,DisplayName,AssignedLicenses

การระบุและการจัดการผู้ใช้ที่มีใบอนุญาตและไม่มีใบอนุญาตภายในสภาพแวดล้อม Microsoft 365 ของคุณถือเป็นส่วนสำคัญของการดูแลระบบ Get-MgUser cmdlet มีความสามารถในการกรองที่มีประสิทธิภาพเพื่อแยกแยะระหว่างประเภทผู้ใช้เหล่านี้ ต่อไปนี้เป็นวิธีแสดงรายการผู้ใช้ที่ไม่มีใบอนุญาตทั้งหมดอย่างมีประสิทธิภาพ:


Get-MgUser -Filter 'assignedLicenses/$count eq 0' -ConsistencyLevel eventual -CountVariable unlicensedUserCount -All

ตัวเลือกนี้กำหนดเป้าหมายผู้ใช้ที่ยังไม่ได้รับมอบหมายใบอนุญาตใดๆ

รับใบอนุญาตที่มอบหมายให้กับผู้ใช้เฉพาะ:

สำหรับรายละเอียดใบอนุญาตเฉพาะของผู้ใช้ คุณสามารถใช้ cmdlet Get-MgUserLicenseDetail กับ ID ของผู้ใช้เพื่อดึงข้อมูลการมอบหมายใบอนุญาตที่ครอบคลุม


Get-MgUserLicenseDetail -UserId "steve@Crescent.com"

ด้วยการใช้คำสั่งเหล่านี้ ผู้ดูแลระบบสามารถจัดการสิทธิ์การใช้งานของผู้ใช้ภายในสภาพแวดล้อม Microsoft 365 ของตนได้อย่างมีประสิทธิภาพ ทำให้มั่นใจได้ว่าทรัพยากรได้รับการจัดสรรอย่างเหมาะสม และเป็นไปตามข้อกำหนดด้านการปฏิบัติตามข้อกำหนด กระบวนการนี้ช่วยในการตรวจสอบและการวางแผนการจัดซื้อใบอนุญาตและกลยุทธ์การปรับให้เหมาะสม

การกำหนดกิจกรรมการลงชื่อเข้าใช้ของผู้ใช้

การกำหนดกิจกรรมการลงชื่อเข้าใช้ของผู้ใช้เป็นสิ่งสำคัญในการตรวจสอบและรักษาความปลอดภัยสภาพแวดล้อม Microsoft 365 ของคุณ แอตทริบิวต์ SignInActivity ซึ่งสามารถเข้าถึงได้ผ่าน Microsoft Graph Beta API ให้ข้อมูลเชิงลึกอันมีค่าเกี่ยวกับการลงชื่อเข้าใช้ Azure AD แบบโต้ตอบที่ประสบความสำเร็จครั้งล่าสุด ต่อไปนี้คือวิธีที่คุณสามารถใช้ประโยชน์จากคุณลักษณะนี้โดยใช้ PowerShell:

การเปลี่ยนไปใช้ API เบต้า:

แอตทริบิวต์ SignInActivity ไม่พร้อมใช้งานใน v1.0 API ซึ่งจำเป็นต้องเปลี่ยนไปใช้เวอร์ชันเบต้า คุณสามารถทำได้โดยใช้ cmdlet “Select-MgProfile” ซึ่งจะตั้งค่าเซสชัน PowerShell ของคุณให้ใช้ Beta API เพื่อให้มั่นใจว่าคุณสามารถเข้าถึงคุณลักษณะและคุณลักษณะล่าสุด รวมถึง SignInActivity

การเรียกข้อมูลกิจกรรมการลงชื่อเข้าใช้

การใช้ Get-MgUser Cmdlet: หากต้องการดึงข้อมูล SignInActivity สำหรับผู้ใช้เฉพาะ -UserId พารามิเตอร์ ต้องมาพร้อมกับ Azure AD GUID ของผู้ใช้ คำสั่งมีลักษณะดังนี้:


Connect-MgGraph -Scopes "User.Read.All", "AuditLog.Read.All"

#Switch the Microsoft Graph profile to BETA
Select-MgProfile -Name "beta"

#Get the User
$User =  Get-MgUser -UserId "steve@crescent.com"

#Get the sign in Activity of the user
Get-MgUser -UserId $User.ID -Property SignInActivity | Select-Object -ExpandProperty SignInActivity

การเข้าถึงคุณสมบัติเพิ่มเติม:

เมื่อคุณดึงข้อมูลออบเจ็กต์ผู้ใช้ที่มีแอตทริบิวต์ SignInActivity แล้ว คุณจะสามารถเข้าถึงกิจกรรมการลงชื่อเข้าใช้ผ่านคุณสมบัติเพิ่มเติมได้ วิธีการนี้ช่วยให้เข้าใจพฤติกรรมผู้ใช้ได้อย่างลึกซึ้งยิ่งขึ้น:


$UserSigninActivity = Get-MgUser -UserId $User.ID -Property SignInActivity,LastPasswordChangeDateTime

#Get the Signin Acvivity: LastSignInDateTime, LastNonInteractiveSignInDateTime
$UserSigninActivity.SignInActivity

#Get the past passwor change date
$UserSigninActivity.LastPasswordChangeDateTime

สิ่งสำคัญที่ควรทราบคือคุณสมบัติ LastSignInDateTime ซึ่งให้รายละเอียดเกี่ยวกับเวลาลงชื่อเข้าใช้ที่สำเร็จครั้งล่าสุด มีให้บริการผ่าน Beta API เท่านั้น ความพร้อมใช้งานของแอตทริบิวต์นี้มีความสม่ำเสมอเนื่องจากปัญหาเกี่ยวกับจอแสดงผลได้รับการแก้ไขแล้วในวันที่ 3 มีนาคม 2021

รับวันที่เข้าสู่ระบบล่าสุดสำหรับผู้ใช้ทั้งหมด


Get-MgUser -All -Property Id, UserPrincipalName, DisplayName, SignInActivity | Select-Object Id, UserPrincipalName, DisplayName, @{Name = 'LastSignInDateTime'; Expression = { $_.SignInActivity.LastSignInDateTime }}, @{Name = 'LastNonInteractiveSignInDateTime'; Expression = { $_.SignInActivity.LastNonInteractiveSignInDateTime } } | Out-GridView -Title "Sign-in Logs"

ด้วยการทำตามขั้นตอนเหล่านี้ คุณจะสามารถตรวจสอบกิจกรรมการลงชื่อเข้าใช้ของผู้ใช้ภายในสภาพแวดล้อม Microsoft 365 ของคุณได้อย่างมีประสิทธิภาพ กระบวนการนี้ไม่เพียงแต่เพิ่มความปลอดภัยด้วยการระบุรูปแบบการลงชื่อเข้าใช้ที่ผิดปกติ แต่ยังช่วยในการปฏิบัติตามกฎระเบียบและงานตรวจสอบด้วยการให้ข้อมูลการเข้าถึงของผู้ใช้ที่แม่นยำและทันท่วงที

การส่งออกรายละเอียดผู้ใช้เป็น CSV

การส่งออกข้อมูลผู้ใช้เป็นไฟล์ CSV ทำได้ตรงไปตรงมาด้วยคำสั่ง Export-CSV ฟังก์ชันนี้มีประโยชน์อย่างมากสำหรับการรายงานหรือการตรวจสอบ หลังจากดึงข้อมูลผู้ใช้ทั้งหมดด้วย Get-MgUser -All แล้ว ให้ไปป์เอาต์พุตไปที่ Export-CSV:


Get-MgUser -All | Export-CSV -Path "AzureADUsers.csv"

หากต้องการรวมคุณสมบัติที่กำหนดเองหรือข้อมูลส่วนขยาย ให้ใช้ตัวเลือกการสืบค้น $select OData เพื่อระบุคุณสมบัติเพิ่มเติมก่อนที่จะส่งออก:


Get-MgUser -All -Property displayName,mail,jobTitle | Select displayName,mail,jobTitle | Export-CSV -Path "CustomAzureADUsers.csv"

ขั้นตอนเหล่านี้สรุปกระบวนการจัดการและส่งออกข้อมูลผู้ใช้อย่างมีประสิทธิภาพจาก Azure AD โดยใช้ Get-MgUser cmdlet ใน PowerShell ด้วยการใช้พารามิเตอร์ -ทั้งหมด ควบคู่ไปกับตัวเลือกการกรองและการส่งออก ผู้ดูแลระบบจึงสามารถดูแลบัญชีผู้ใช้ภายในสภาพแวดล้อม Microsoft 365 ของตนได้อย่างมีประสิทธิภาพ

เพื่อปรับปรุงกระบวนการส่งออกรายละเอียดผู้ใช้เป็นไฟล์ CSV โดยเฉพาะอย่างยิ่งเมื่อต้องจัดการกับกลุ่มผู้ใช้เฉพาะภายในสภาพแวดล้อม Microsoft 365 ของคุณ การรวมสคริปต์ PowerShell จะช่วยเพิ่มความสามารถในการจัดการข้อมูลของคุณได้อย่างมีประสิทธิภาพ ต่อไปนี้เป็นแนวทางที่มีโครงสร้างเพื่อให้บรรลุเป้าหมายนี้:

  1. การรวมสคริปต์สำหรับการส่งออกแบบกำหนดเป้าหมาย:

    • เริ่มต้นด้วยการใช้ cmdlet Get-MgUser เพื่อดึงรายละเอียดผู้ใช้ที่จำเป็น cmdlet นี้มีความหลากหลาย ช่วยให้คุณสามารถระบุบริบท (ที่ได้รับมอบสิทธิ์หรือแอปพลิเคชัน) และรับรองว่าคุณมีสิทธิ์ที่เหมาะสมสำหรับการดำเนินการ
    • จากนั้น ใช้ตัวกรองเพื่อจำกัดผู้ใช้ให้แคบลงตามเกณฑ์ เช่น ตำแหน่งงานและแผนก ขั้นตอนนี้มีความสำคัญอย่างยิ่งในการมุ่งเน้นไปที่กลุ่มผู้ใช้ที่ตรงตามเงื่อนไขที่คุณระบุ
  2. การส่งออกเป็น CSV: เมื่อกรองและรวบรวมข้อมูลผู้ใช้ที่ต้องการแล้ว ขั้นตอนสุดท้ายคือการส่งออกข้อมูลนี้เป็นไฟล์ CSV ใช้ cmdlet Export-CSV โดยระบุเส้นทางที่คุณต้องการให้บันทึกไฟล์ CSV

Get-MgUser -Filter "jobTitle eq 'Director' and department eq 'Operations'" -Property DisplayName, UserPrincipalName, JobTitle, Department, AssignedLicenses, LastPasswordChangeDateTime | Select-Object DisplayName, UserPrincipalName, JobTitle, Department, AssignedLicenses, LastPasswordChangeDateTime | Export-CSV -Path "FilteredUsers.csv" -NoTypeInformation

คำสั่งนี้จะกรองผู้ใช้อย่างมีประสิทธิภาพตามตำแหน่งงานและแผนก เลือกคุณสมบัติเฉพาะที่จะรวมไว้ในเอาต์พุต และส่งออกข้อมูลไปยังไฟล์ CSV ชื่อ “FilteredUsers.csv”

รับรหัสผ่านไม่มีวันหมดอายุตั้งค่าสถานะสำหรับผู้ใช้ทั้งหมดและส่งออกเป็นไฟล์ CSV

หากต้องการรับรหัสผ่านไม่มีวันหมดอายุสำหรับผู้ใช้ทั้งหมดและส่งออกเป็นไฟล์ CSV โดยใช้ Microsoft Graph PowerShell คุณสามารถใช้สคริปต์ด้านล่าง:

  1. เชื่อมต่อกับ Microsoft Graph โดยใช้ Connect-MgGraph cmdlet และระบุขอบเขตที่จำเป็น
  2. ดึงข้อมูลผู้ใช้ทั้งหมดโดยใช้ Get-MgUser cmdlet และเลือกคุณสมบัติ DisplayName, UserPrincipalName และ PasswordPolicies
  3. กรองผู้ใช้ที่มีนโยบายรหัสผ่านมีค่า DisablePasswordExpiration
  4. ส่งออกผู้ใช้ที่ถูกกรองเป็นไฟล์ CSV โดยใช้ Export-Csv cmdlet

#Connect to Microsoft Graph
Connect-MgGraph -Scopes "User.Read.All"

#Get Password Never Expire flag for all users
$PasswordNeverExpire = Get-MgUser -All -Property DisplayName, UserPrincipalName, PasswordPolicies | Select-Object DisplayName, UserprincipalName, @{
    Name = "PasswordNeverExpires"; Expression = { $_.PasswordPolicies -contains "DisablePasswordExpiration"}
}

$PasswordNeverExpire
#Export the data to CSV file
$PasswordNeverExpire | Export-CSV -Path "C:\Temp\PasswordNeverExpire.csv" -NoTypeInformation

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

การแก้ไขปัญหาทั่วไปเกี่ยวกับ Get-MgUser

แม้ว่า Get-MgUser จะเป็นเครื่องมือที่ทรงพลัง แต่คุณอาจพบปัญหาทั่วไปบางประการขณะใช้งาน เรามาสำรวจปัญหาเหล่านี้และแนวทางแก้ไขที่เป็นไปได้กัน

สิทธิ์ไม่เพียงพอที่จะดำเนินการให้เสร็จสิ้น

หากคุณได้รับข้อความแสดงข้อผิดพลาดระบุว่า “สิทธิ์ไม่เพียงพอที่จะดำเนินการให้เสร็จสิ้น” หมายความว่าบัญชีที่คุณใช้เพื่อเรียกใช้คำสั่ง Get-MgUser ไม่มีสิทธิ์ที่จำเป็น เมื่อต้องการแก้ไขปัญหานี้ ตรวจสอบให้แน่ใจว่าบัญชีมีสิทธิ์ผู้ดูแลระบบที่เหมาะสมในสภาพแวดล้อม Microsoft 365 ของคุณ ผู้ดูแลระบบควรให้สิทธิ์ที่เหมาะสม (เช่น User.Read.All สำหรับการอ่านโปรไฟล์ผู้ใช้ทั้งหมด) ในศูนย์การจัดการ Azure AD ภายใต้สิทธิ์ API สำหรับการลงทะเบียนแอปที่เกี่ยวข้องกับ PowerShell

Get-MgUser ไม่ได้รับการยอมรับว่าเป็นชื่อของ cmdlet

หากคุณพบข้อความแสดงข้อผิดพลาดที่ระบุว่า "ไม่รู้จัก Get-MgUser เป็นชื่อของ cmdlet" หมายความว่าไม่ได้ติดตั้งโมดูล PowerShell สำหรับ Microsoft Graph ในระบบของคุณ หากต้องการติดตั้งโมดูล ให้เรียกใช้ “Install-Module Microsoft.Graph” ข้อมูลเพิ่มเติมอยู่ที่นี่: ติดตั้งโมดูล Microsoft Graph

ปัญหาการกรองและการสืบค้น

หากคุณได้รับข้อผิดพลาดทางไวยากรณ์หรือไม่มีผลลัพธ์เมื่อใช้ตัวเลือก -Filter ตรวจสอบให้แน่ใจว่าไวยากรณ์แบบสอบถาม OData ของคุณถูกต้อง ข้อผิดพลาดทั่วไป ได้แก่ การใช้เครื่องหมายคำพูดเดี่ยว (') ไม่ถูกต้องรอบค่าสตริง หรือใช้การดำเนินการตัวกรองที่ไม่รองรับ

ข้อผิดพลาดในการเลือกคุณสมบัติ

ได้รับข้อผิดพลาดหรือผลลัพธ์ที่ไม่คาดคิดเมื่อใช้ตัวเลือก -Property เพื่อระบุคุณสมบัติ ตรวจสอบชื่อคุณสมบัติที่คุณขอนั้นถูกต้องและรองรับ คุณสมบัติผู้ใช้บางส่วนอาจไม่พร้อมใช้งานตามค่าเริ่มต้น บางส่วนต้องการสิทธิ์เฉพาะหรือพารามิเตอร์การสืบค้นเพิ่มเติมเพื่อเข้าถึง

บทสรุป

เมื่อคุณต้องการดึงข้อมูลเกี่ยวกับผู้ใช้ในสภาพแวดล้อม Microsoft 365 Get-MgUser PowerShell cmdlet คือเครื่องมือที่คุณใช้งานสะดวก ช่วยให้คุณสามารถดำเนินการทั้งการสืบค้นขั้นพื้นฐานและขั้นสูงเพื่อดึงรายละเอียดผู้ใช้ โดยปรับแต่งข้อมูลที่ส่งคืนให้ตรงตามความต้องการของคุณ ตลอดบทความนี้ เราได้เจาะลึกความสามารถที่ครอบคลุมของ Get-MgUser cmdlet และบทบาทสำคัญในการรับข้อมูลผู้ใช้ภายใน Microsoft Graph ผ่าน PowerShell ตั้งแต่ขั้นตอนเริ่มต้นของการติดตั้ง Microsoft Graph PowerShell Module ไปจนถึงเทคนิคขั้นสูงสำหรับการแยกและส่งออกข้อมูลผู้ใช้ กลยุทธ์ต่างๆ ที่วางไว้ให้ความกระจ่างถึงความเก่งกาจของ cmdlet ในการเข้าถึงและจัดการรายละเอียดผู้ใช้อย่างมีประสิทธิภาพ

ศักยภาพของ PowerShell cmdlet นี้ในการอำนวยความสะดวกในการวิเคราะห์ผู้ใช้โดยละเอียด ควบคู่ไปกับความสามารถในการปรับตัวให้เข้ากับความต้องการด้านการดูแลระบบที่หลากหลาย ตอกย้ำความสำคัญของมันในระบบนิเวศไอทีร่วมสมัย ด้วยการทำความเข้าใจคำสั่งและพารามิเตอร์ต่างๆ คุณสามารถปลดปล่อยพลังแห่งประสิทธิภาพและปรับปรุงงานการดูแลระบบของคุณได้ ไม่ว่าคุณจะต้องกรองผู้ใช้ สำรวจคุณสมบัติทั้งหมด แก้ไขปัญหา หรือขยายฟังก์ชัน Get-MgUser ก็พร้อมช่วยคุณ ดังนั้น เริ่มสำรวจความเป็นไปได้และใช้ประโยชน์สูงสุดจาก Get-MgUser วันนี้!

คำถามที่พบบ่อย:

จุดประสงค์ของ Get-MgUser cmdlet ใน PowerShell คืออะไร

Get-MgUser PowerShell cmdlet ดึงข้อมูลผู้ใช้ในสภาพแวดล้อม Microsoft 365 ช่วยให้คุณสามารถแสดงรายการผู้ใช้ทั้งหมด รับรายละเอียดที่ครอบคลุมเกี่ยวกับผู้ใช้รายใดรายหนึ่ง หรือค้นหาผู้ใช้ตามคุณลักษณะเฉพาะ เช่น แผนกหรือตำแหน่งงานของพวกเขา

ขั้นตอนในการเชื่อมต่อกับ Microsoft Graph API ผ่าน PowerShell คืออะไร

หากต้องการเรียกใช้ Graph API ใน PowerShell ให้เริ่มต้นด้วยการดำเนินการคำสั่ง Connect-MgGraph เพื่อลงชื่อเข้าใช้และระบุขอบเขตที่จำเป็น หลังจากสร้างการเชื่อมต่อแล้ว คุณสามารถเรียกใช้วิธี Graph API ที่มีอยู่ได้อย่างอิสระ

ข้อกำหนดเบื้องต้นสำหรับการใช้ Get-MgUser คืออะไร

หากต้องการใช้ Get-MgUser คุณต้องติดตั้งโมดูล Microsoft Graph PowerShell คุณสามารถติดตั้งได้โดยการรันคำสั่ง “Install-Module Microsoft.Graph” ใน PowerShell นอกจากนี้ คุณต้องมีสิทธิ์ "User.Read.All" เพื่อเข้าถึงข้อมูลผู้ใช้ในสภาพแวดล้อม Microsoft 365 ของคุณ

ฉันจะดึงข้อมูลของผู้ใช้เฉพาะโดยใช้ Get-MgUser ได้อย่างไร

หากต้องการดึงข้อมูลของผู้ใช้ที่เฉพาะเจาะจง คุณสามารถใช้พารามิเตอร์ "-UserId" ตามด้วย ID ของผู้ใช้หรือชื่อผู้ใช้หลัก (UPN) ตัวอย่างเช่น:

Get-MgUser -UserId "john.doe@crescent.com".

ฉันจะกรองคุณสมบัติผู้ใช้ที่ Get-MgUser ส่งคืนได้อย่างไร

คุณสามารถใช้พารามิเตอร์ “-Property” เพื่อระบุคุณสมบัติเฉพาะที่คุณต้องการดึงข้อมูล จากนั้นไปป์ลงใน Select cmdlet ตัวอย่างเช่น:

Get-MgUser -UserId "steve@crescent.com" -Property ID, Mail | Select ID, Mail

เป็นไปได้หรือไม่ที่จะดึงข้อมูลผู้ใช้ตามมูลค่าคุณสมบัติเฉพาะ

ได้ คุณสามารถใช้พารามิเตอร์ "-Filter" เพื่อดึงข้อมูลผู้ใช้ตามค่าคุณสมบัติเฉพาะได้ ตัวอย่างเช่น หากต้องการดึงข้อมูลผู้ใช้ของแผนกใดแผนกหนึ่ง ให้ทำดังนี้

Get-MgUser -Filter "Department eq 'Marketing'"

ฉันจะส่งออกข้อมูลผู้ใช้ที่ Get-MgUser ดึงข้อมูลไปยังไฟล์ได้อย่างไร

คุณสามารถส่งออกข้อมูลผู้ใช้ไปยังไฟล์ได้โดยใช้ cmdlet “ส่งออก-Csv” ตัวอย่างเช่น:

Get-MgUser -Filter "jobTitle eq 'Director'" | Export-Csv -Path "C:\Temp\Directors.csv" -NoTypeInformation

ฉันจะดึงรายชื่อผู้ใช้ทั้งหมดในองค์กรของฉันโดยใช้ Get-MgUser ได้อย่างไร

หากต้องการดึงข้อมูลเกี่ยวกับผู้ใช้ทั้งหมดในองค์กรของคุณโดยใช้ Get-MgUser คุณสามารถใช้พารามิเตอร์ -All ตัวอย่างเช่น: Get-MgUser -All

ฉันจะค้นหาผู้ใช้เฉพาะโดยใช้ Get-MgUser ได้อย่างไร

หากต้องการค้นหาผู้ใช้ที่ต้องการโดยใช้ Get-MgUser คุณสามารถใช้พารามิเตอร์ -Search เพื่อระบุคำค้นหา ตัวอย่างเช่น หากต้องการค้นหาผู้ใช้ทั้งหมดด้วยชื่อที่แสดงซึ่งมีคำว่า "sam" คุณสามารถใช้คำสั่งต่อไปนี้:

Get-MgUser -All -Search "DisplayName:sam" -ConsistencyLevel eventual

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