param($ConfigPath) . $ConfigPath # includes $Configs if (!(Get-Module -ListAvailable -Name ExchangeOnlineManagement)) { Install-Module ExchangeOnlineManagement -Force } Import-Module ExchangeOnlineManagement foreach($Config in $Configs) { $out = 'Adding Trusted Senders for organization {0}' -f $Config.Organization Write-Output $out Connect-ExchangeOnline -AppId $Config.AppId -CertificateFilePath $Config.CertificateFilePath -CertificatePassword (ConvertTo-SecureString -String $Config.CertificatePassword -AsPlainText -Force) -Organization $Config.Organization $users = Get-EXOMailbox -ResultSize unlimited foreach($user in $users){ $out = 'Adding Trusted Senders to {0}' -f $user.UserPrincipalName Write-Output $out Set-MailboxJunkEmailConfiguration $user.UserPrincipalName -TrustedSendersAndDomains @{Add=$Senders} } Disconnect-ExchangeOnline -Confirm:$false } Write-Output "Finished!"