שתף באמצעות


הקצאת תפקידי מנהל מערכת לחשבון משתמש של Microsoft 365 באמצעות PowerShell

מאמר זה חל הן על Microsoft 365 Enterprise והן Office 365 Enterprise.

באפשרותך להקצות בקלות תפקידים בחשבונות משתמשים באמצעות PowerShell עבור Microsoft 365.

הערה

למד כיצד להקצות תפקידי מנהל מערכת בחשבונות משתמשים באמצעות מרכז הניהול של Microsoft 365.

לקבלת רשימה של משאבים נוספים, ראה ניהול משתמשים וקבוצות.

הקצאת תפקידים בחשבונות משתמשים באמצעות Microsoft Graph PowerShell

הערה

מודול Azure Active Directory מוחלף על-ידי SDK של Microsoft Graph PowerShell. באפשרותך להשתמש ב- SDK של Microsoft Graph PowerShell כדי לגשת לכל ממשקי ה- API של Microsoft Graph. לקבלת מידע נוסף, ראה תחילת העבודה עם Microsoft Graph PowerShell SDK.

תחילה, השתמש Microsoft Entra DC, יישום ענן מרכז הניהול או חשבון מנהל מערכת כללי כדי להתחבר לדייר Microsoft 365 שלך. רכיבי ה- cmdlet במאמר זה דורשים את טווח ההרשאה RoleManagement.ReadWrite.Directory או אחת מההרשאות האחרות המפורטות בדף ההפניה ל- Graph API של Graph . פקודות מסוימות במאמר זה עשויות לדרוש טווחי הרשאה שונים, ולאחר מכן הדבר יצוין בסעיף הרלוונטי.

Connect-MgGraph -Scopes "RoleManagement.ReadWrite.Directory"

לקבלת מידע נוסף, ראה אודות תפקידי מנהל מערכת.

לאחר מכן, זהה את שם הכניסה של חשבון המשתמש שברצונך להוסיף לתפקיד (לדוגמה: fredsm@contoso.com). שם זה נקרא גם שם ראשי של משתמש (UPN).

לאחר מכן, קבע את שם התפקיד. ראה Microsoft Entra תפקידים מוכללים.

הערה

שים לב להערות במאמר זה. שמות תפקידים מסוימים שונים עבור PowerShell של Azure Active Directory (Azure AD). לדוגמה, התפקיד 'מנהל מערכת של SharePoint' ב- מרכז הניהול של Microsoft 365 SharePoint הוא מנהל שירות SharePoint Azure AD PowerShell.

לאחר מכן, מלא את שמות התפקידים וה- UPN של המשתמש והפעל את הפקודות הבאות:

$userUPN="<user UPN>"
$roleName="<role name>"
$role = Get-MgDirectoryRole | Where-Object {$_.displayName -eq $roleName}
if ($role -eq $null) {
    $roleTemplate = (Get-MgDirectoryRoleTemplate | Where-Object {$_.displayName -eq $roleName}).id
    New-MgDirectoryRole -DisplayName $roleName -RoleTemplateId $roleTemplate
    $role = Get-MgDirectoryRole | Where-Object {$_.displayName -eq $roleName}
}
$userId = (Get-MgUser -Filter "userPrincipalName eq '$userUPN'").Id
$newRoleMember =@{
    "@odata.id"= "https://graph.microsoft.com/v1.0/users/$userId"
    }
New-MgDirectoryRoleMemberByRef -DirectoryRoleId $role.Id -BodyParameter $newRoleMember

להלן דוגמה של ערכת פקודות שהושלמה המקצה את התפקיד 'מנהל שירות SharePoint' belindan@contoso.com לחשבון:

$userUPN="adelev@contoso.com"
$roleName="Exchange Administrator"
$role = Get-MgDirectoryRole | Where-Object {$_.displayName -eq $roleName}
if ($role -eq $null) {
    $roleTemplate = (Get-MgDirectoryRoleTemplate | Where-Object {$_.displayName -eq $roleName}).id
    New-MgDirectoryRole -DisplayName $roleName -RoleTemplateId $roleTemplate
    $role = Get-MgDirectoryRole | Where-Object {$_.displayName -eq $roleName}
}
$userId = (Get-MgUser -Filter "userPrincipalName eq '$userUPN'").Id
$newRoleMember =@{
    "@odata.id"= "https://graph.microsoft.com/v1.0/users/$userId"
    }
New-MgDirectoryRoleMemberByRef -DirectoryRoleId $role.Id -BodyParameter $newRoleMember

כדי להציג את רשימת זהות המשתמשים עבור תפקיד מנהל מערכת ספציפי, השתמש בפקודות אלה.

$roleName="<role name>"
Connect-MgGraph -Scopes "Directory.Read.All"
Get-MgDirectoryRole | Where-Object { $_.DisplayName -eq $roleName } | ForEach-Object { Get-MgDirectoryRoleMember -DirectoryRoleId $_.Id }

למידע נוסף