This script will enable Email Address Policy for Mailboxes, Mail Contacts and Distribution Groups.
This script is to help Exchange Administrator to enable Email Address Policy for Mailboxes, Mail Contacts and Distribution Groups.
This script contains two advanced functions Enable-OSCEmailAddressPolicyAll and Enable-OSCEmailAddressPolicySingle, you can use this script in the following ways:
Step1: Run the script in the Exchange Management Shell, type the one command:
Import-Module <Script Path> at the prompt.
For example, type Import-Module C:\Script\ EnableEmailAddressPolicy.psm1
Here are some code snippets for your references. To get the complete script sample, please click the download button at the beginning of this page.
switch ($type)
{
#For all kinds of Mailbox,Contact,Distributiongroup
"All"{
Get-Mailbox -resultsize unlimited | Set-Mailbox -EmailAddressPolicyEnabled:$true
Write-Host "Enable Email Address Policy for all Mailboxes Successfully"
Get-Mailcontact -resultsize unlimited | Set-mailcontact -EmailAddressPolicyEnabled:$true
Write-Host "Enable Email Address Policy for all Contacts Successfully"
Get-Distributiongroup -resultsize unlimited | Set-distributiongroup -EmailAddressPolicyEnabled:$true
Write-Host "Enable Email Address Policy for all DistributionGroups Successfully"
}
"Mailbox"{
Get-Mailbox -resultsize unlimited | Set-Mailbox -EmailAddressPolicyEnabled:$true
Write-Host "Enable Email Address Policy for all Mailboxes Successfully"
}
"Contact"{
Get-Mailcontact -resultsize unlimited | Set-mailcontact -EmailAddressPolicyEnabled:$true
Write-Host "Enable Email Address Policy for all Contacts Successfully"
}
"Distributiongroup"{
Get-Distributiongroup -resultsize unlimited | Set-distributiongroup -EmailAddressPolicyEnabled:$true
Write-Host "Enable Email Address Policy for all DistributionGroups Successfully"
}
Default{
Write-Host "Please Enter Mailbox,Contact,Distributiongroup or All"
}
}
switch ($type) { #For all kinds of Mailbox,Contact,Distributiongroup "All"{ Get-Mailbox -resultsize unlimited | Set-Mailbox -EmailAddressPolicyEnabled:$true Write-Host "Enable Email Address Policy for all Mailboxes Successfully" Get-Mailcontact -resultsize unlimited | Set-mailcontact -EmailAddressPolicyEnabled:$true Write-Host "Enable Email Address Policy for all Contacts Successfully" Get-Distributiongroup -resultsize unlimited | Set-distributiongroup -EmailAddressPolicyEnabled:$true Write-Host "Enable Email Address Policy for all DistributionGroups Successfully"}"Mailbox"{ Get-Mailbox -resultsize unlimited | Set-Mailbox -EmailAddressPolicyEnabled:$true Write-Host "Enable Email Address Policy for all Mailboxes Successfully"}"Contact"{ Get-Mailcontact -resultsize unlimited | Set-mailcontact -EmailAddressPolicyEnabled:$true Write-Host "Enable Email Address Policy for all Contacts Successfully"}"Distributiongroup"{ Get-Distributiongroup -resultsize unlimited | Set-distributiongroup -EmailAddressPolicyEnabled:$true Write-Host "Enable Email Address Policy for all DistributionGroups Successfully"} Default{ Write-Host "Please Enter Mailbox,Contact,Distributiongroup or All"}}
Example 1: Enable Email Address Policy for all existing Mailboxes, Mail Contacts and Distribution Groups.
Command: Enable-OSCEmailAddressPolicyAll -Type "All"
Screenshot:

Example 2: Enable Email Address Policy for all existing Mailboxes and Mail Contacts.
Command: Enable-OSCEmailAddressPolicyAll -Type "Mailbox","Contacts"
Screenshot:
![]()
Example 3: Enable Email Address Policy for Mailbox "Name".
Command: Enable-OSCEmailAddressPolicySingle -identity "Name" –Type "Mailbox"
Screenshot:
![]()
Example 4: Enable Email Address Policy for Mailbox "Name1","Name2".
Command: Enable-OSCEmailAddressPolicySingle -identity "Name1","Name2" –Type "Mailbox"
Screenshot:
![]()
Exchange 2010, Exchange 2013
PowerShell 2.0