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

วิธีเพิ่มผู้ใช้ในกลุ่มด้วย Microsoft Graph PowerShell


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

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

เกี่ยวกับ cmdlet ใหม่ MgGroupMember

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

New-MgGroupMember เป็นของโมดูล Microsoft.Graph.Groups ใน Microsoft Graph PowerShell โมดูลนี้สามารถติดตั้งได้ด้วยตนเองโดยใช้คำสั่งต่อไปนี้:

Install-Module Microsoft.Graph.Groups

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

  • GroupMember.ReadWrite.All
  • User.ReadWrite.All

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

Connect-MgGraph -Scopes GroupMember.ReadWrite.All, User.ReadWrite.All

เมื่อคุณเชื่อมต่อกับ Microsoft Graph PowerShell แล้ว คุณสามารถดำเนินการเพิ่มผู้ใช้ในกลุ่มได้

เพิ่มผู้ใช้รายเดียวในกลุ่มด้วย Microsoft Graph PowerShell

เช่นเดียวกับ Microsoft Graph PowerShell cmdlet หลายๆ ตัว หนึ่งในลักษณะเฉพาะของ New-MgGroupMember cmdlet ก็คือ แทนที่จะใช้ชื่อเฉพาะ (หรือชื่อผู้ใช้) ของกลุ่มหรือผู้ใช้ คุณจะต้องป้อนไดเร็กทอรี ObjectID แทน ซึ่งมีผู้ใช้น้อยกว่า เป็นกันเอง.

ObjectID สำหรับทั้งผู้ใช้และกลุ่มสามารถพบได้ง่ายโดยใช้พารามิเตอร์ -ค้นหา ใน Microsoft Graph PowerShell

ฉันลงรายละเอียดเพิ่มเติมเกี่ยวกับพารามิเตอร์ -ค้นหาในบล็อกของฉัน วิธีใช้ Get-MgUser กับ Microsoft Graph PowerShell

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

$group = Get-MgGroup -Search '"DisplayName:GroupName"' -ConsistencyLevel eventual
$user = Get-MgUser -Search '"DisplayName:UserDiplayName"' -ConsistencyLevel eventual

จากนั้นหากต้องการเพิ่มผู้ใช้ลงในกลุ่มเป้าหมาย ให้ใช้ New-MgGroupMember cmdlet และอ้างอิง ObjectID สำหรับทั้งผู้ใช้และกลุ่ม:

New-MgGroupMember -GroupId $group.id -DirectoryObjectId $user.id

เพิ่มผู้ใช้หลายคนในกลุ่ม

วิธีที่ง่ายที่สุดในการเพิ่มผู้ใช้หลายรายในกลุ่มคือการใช้ PowerShell loop เพื่อหมุนเวียนไปตามชุดผู้ใช้ ขณะเรียกใช้ New-MgGroupMember cmdlet

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้ลูปกับ PowerShell โปรดดูบล็อกโดยละเอียดของฉัน: วิธีใช้ Powershell Foreach Loop พร้อมตัวอย่าง

ในการเริ่มต้น เราจะใช้โค้ดที่คล้ายกันเมื่อเทียบกับตัวอย่างที่แล้ว คราวนี้เราจะใช้พารามิเตอร์ -Filter กับ Get-MgUser cmd เพื่อดึงรายชื่อผู้ใช้ที่เราต้องการกำหนดเป้าหมายแทน

$group = Get-MgGroup -Search '"DisplayName:Test2"' -ConsistencyLevel eventual
$users = Get-MgUser -Filter "endsWith(mail,'ourcloudnetwork.com')" -ConsistencyLevel eventual

ตอนนี้ตัวแปร $users มีอาร์เรย์ของผู้ใช้แล้ว เราสามารถวนซ้ำผู้ใช้ได้ดังนี้:

Foreach ($user in $users) {
    Write-host "Adding user $($User.DisplayName) ..." -ForegroundColor Cyan
    New-MgGroupMember -GroupId $group.id -DirectoryObjectId $user.id
}

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