วิธีใช้ 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 เป็นกระบวนการที่ไม่ซับซ้อน แต่ต้องอาศัยการเอาใจใส่อย่างระมัดระวังต่อสิทธิ์และขอบเขตเพื่อให้แน่ใจว่าคุณมีสิทธิ์เข้าถึงที่จำเป็นเพื่อดำเนินงานตามที่คุณตั้งใจไว้ คำแนะนำทีละขั้นตอนในการสร้างการเชื่อมต่อที่ปรับแต่งสำหรับวิธีการเข้าถึงทั้งที่ได้รับมอบสิทธิ์และเฉพาะแอปเท่านั้น
การเชื่อมต่อการเข้าถึงที่ได้รับมอบหมาย
- กำหนดสิทธิ์ที่จำเป็น: ใช้ cmdlets
Find-MgGraphPermissionหรือFind-MgGraphCommandเพื่อระบุสิทธิ์ที่จำเป็นสำหรับงานของคุณ ขอบเขตทั่วไปสำหรับการจัดการผู้ใช้ ได้แก่User.Read.Allสำหรับการอ่านโปรไฟล์ผู้ใช้ และAuditLog.Read.Allสำหรับการเข้าถึงบันทึกการตรวจสอบ - เชื่อมต่อกับ Microsoft Graph: ดำเนินการ
Connect-MgGraph -Scopes "User.Read.All", "AuditLog.Read.All"ใน PowerShell - ตรวจสอบการเชื่อมต่อ: เรียกใช้คำสั่งทดสอบ
Get-MgUserเพื่อยืนยันการเชื่อมต่อที่สำเร็จและการเข้าถึงบัญชีผู้ใช้ในผู้เช่าของคุณ - หากคุณเชื่อมต่อเป็นครั้งแรก หน้าต่างขออนุญาตจะปรากฏขึ้น ให้สิทธิ์ผู้ดูแลระบบเพื่อดำเนินการต่อ
การเชื่อมต่อการเข้าถึงเฉพาะแอปโดยใช้ 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 จะช่วยเพิ่มความสามารถในการจัดการข้อมูลของคุณได้อย่างมีประสิทธิภาพ ต่อไปนี้เป็นแนวทางที่มีโครงสร้างเพื่อให้บรรลุเป้าหมายนี้:
การรวมสคริปต์สำหรับการส่งออกแบบกำหนดเป้าหมาย:
- เริ่มต้นด้วยการใช้ cmdlet
Get-MgUserเพื่อดึงรายละเอียดผู้ใช้ที่จำเป็น cmdlet นี้มีความหลากหลาย ช่วยให้คุณสามารถระบุบริบท (ที่ได้รับมอบสิทธิ์หรือแอปพลิเคชัน) และรับรองว่าคุณมีสิทธิ์ที่เหมาะสมสำหรับการดำเนินการ
- เริ่มต้นด้วยการใช้ cmdlet
- จากนั้น ใช้ตัวกรองเพื่อจำกัดผู้ใช้ให้แคบลงตามเกณฑ์ เช่น ตำแหน่งงานและแผนก ขั้นตอนนี้มีความสำคัญอย่างยิ่งในการมุ่งเน้นไปที่กลุ่มผู้ใช้ที่ตรงตามเงื่อนไขที่คุณระบุ
- การส่งออกเป็น 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 คุณสามารถใช้สคริปต์ด้านล่าง:
- เชื่อมต่อกับ Microsoft Graph โดยใช้
Connect-MgGraphcmdlet และระบุขอบเขตที่จำเป็น - ดึงข้อมูลผู้ใช้ทั้งหมดโดยใช้
Get-MgUsercmdlet และเลือกคุณสมบัติDisplayName,UserPrincipalNameและPasswordPolicies - กรองผู้ใช้ที่มีนโยบายรหัสผ่านมีค่า
DisablePasswordExpiration - ส่งออกผู้ใช้ที่ถูกกรองเป็นไฟล์ CSV โดยใช้
Export-Csvcmdlet
#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



