将动态安全组成员添加到共享邮箱权限脚本

问题描述

尝试做这样的事情,根据 CSV 信息将 azure 动态安全组的成员添加到他们所属的共享邮箱

Import-Csv C:\users\jeiger\desktop\kiosknames.csv | ForEach-Object {

foreach ($kioskgroup in $_.kioskgroupname){
    foreach ($user in $kioskgroup){
        Add-MailBoxPermission $_.kioskemail -User $user -AccessRights FullAccess -AutoMapping $false
        Add-RecipientPermission $_.kioskemail -AccessRights SendAs -Trustee $user
    }
}

}

标题会是这样的: kioskgroupname 和 kioskemail

解决方法

确保您安装了 Azure AD ModuleEXO V2 module

参考这个脚本:

$username = "{username of admin}"
$password = "{password of admin}"
$secureStringPwd = $password | ConvertTo-SecureString -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential -ArgumentList $username,$secureStringPwd
Connect-AzureAD -Credential $Credential

$DynamicAADGroupMembers = Get-AzureADGroupMember -ObjectId "{object id of the azure dynamic security group}"

Connect-ExchangeOnline -Credential $Credential

$sharedMailbox = "{email address of the shared mailbox}"

foreach ($user in $DynamicAADGroupMembers){
    Add-MailboxPermission $sharedMailbox -User $user.ObjectId -AccessRights FullAccess -AutoMapping $false
    Add-RecipientPermission $sharedMailbox -AccessRights SendAs -Trustee $user.ObjectId
}