Scripts/Exchange.ps1



Connect-ExchangeOnline -Device; Title "$(Get-OrganizationConfig | Select-Object -ExpandProperty DisplayName) - Exchange Online"



$Mailbox = "Info"
$Domain = "domein.nl"
$FullAddress = "$($Mailbox)@$($Domain)"
$Alias1 = "informatie@$($Domain)"
$User1 = "kees.smit"
$User2 = "jan.dejong"


New-Mailbox -Name $Mailbox -Shared
Set-Mailbox $Mailbox -EmailAddresses @{add = "smtp:$($Alias1)" }
Add-MailboxPermission $Mailbox -AccessRights fullaccess -User $User1
Add-MailboxPermission $Mailbox -AccessRights fullaccess -User $User2
Add-RecipientPermission $FullAddress -AccessRights Sendas -Trustee $User1
Add-RecipientPermission $FullAddress -AccessRights Sendas -Trustee $User2






$Mailboxes = Get-Mailbox -ResultSize All

$Mailboxes | Where-Object RecipientTypeDetails -EQ UserMailbox | Sort-Object DisplayName | Select-Object DisplayName, UserPrincipalName, PrimarySmtpAddress, @{ name = "EmailAddresses"; expression = { ($_.EmailAddresses -join "; ") } }, LegacyExchangeDN | Export-Excel
$Mailboxes | Where-Object RecipientTypeDetails -EQ SharedMailbox | Sort-Object DisplayName | Select-Object DisplayName, UserPrincipalName, PrimarySmtpAddress, @{ name = "EmailAddresses"; expression = { ($_.EmailAddresses -join "; ") } }, LegacyExchangeDN | Export-Excel




Get-MessageTrace -StartDate (Get-Date).AddDays(-30) -EndDate (Get-Date).AddDays(1) -RecipientAddress $recipient