با PowerShell نقشهای مدیر را به حسابهای کاربری Microsoft 365 اختصاص دهید
این مقاله برای Microsoft 365 Enterprise و Office 365 Enterprise کاربرد دارد.
با استفاده از PowerShell برای Microsoft 365 می توانید به راحتی نقش ها را به حساب های کاربری اختصاص دهید. با استفاده از Microsoft Graph PowerShell نقش هایی را به حساب های کاربری اختصاص دهید
توجه داشته باشید : ماژول Azure Active Directory با Microsoft Graph PowerShell SDK جایگزین شده است. میتوانید از Microsoft Graph PowerShell SDK برای دسترسی به همه APIهای Microsoft Graph استفاده کنید.
ابتدا، از یک ادمین Microsoft Entra DC یا حساب کاربری Cloud Application Admin برای اتصال به Microsoft 365 خود استفاده کنید. cmdlet های این مقاله به محدوده مجوز RoleManagement.ReadWrite.Directory یا یکی از مجوزهای دیگر فهرست شده در صفحه مرجع Graph API “List subscribedSkus” نیاز دارند. برخی از دستورات در این مقاله ممکن است به مجوزهای مختلفی نیاز داشته باشند که در این صورت در قسمت مربوطه به آن اشاره خواهد شد.
Connect-MgGraph -Scopes "RoleManagement.ReadWrite.Directory"
سپس، نام ورود به حساب کاربری را که میخواهید به یک نقش اضافه کنید، شناسایی کنید (به عنوان مثال: fredsm@contoso.com). این نام همچنین به عنوان نام اصلی کاربر (UPN) شناخته می شود.
توجه داشته باشید نام برخی از نقش ها برای Azure Active Directory (Azure AD) PowerShell متفاوت است. به عنوان مثال، نقش مدیر شیرپوینت در مرکز مدیریت مایکروسافت 365، مدیر سرویس 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
در اینجا نمونه ای از یک مجموعه دستور تکمیل شده است که نقش مدیر Exchange را به حساب adelev@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 }
برای خرید لایسنس نرم افزار Power BI ، میتوانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.
Assign admin roles to Microsoft 365 user accounts with PowerShell