Es gab die Anforderung, eine neue Domain für den E-Mail-Empfang zu Exchange hinzuzufügen und entsprechend alle Benutzer und Verteilergruppen mit der neuen Domain auszustatten.
Dazu habe ich dieses Script gebaut (für Exchange 2010), um alle ~500 Objekte entsprechend zu ergänzen. Es bearbeitet zuerst die Benutzer (es ignoriert deaktivierte Benutzer), dann die normalen Verteilergruppen und zuletzt die dynamischen Verteilergruppen. Die Alias-Adressen werden entsprechend dem Mailbox-Alias angelegt.
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
$ADSearchBase = "ou=Firmenname,dc=domain,dc=tld"
$domain = "domain.tld"
#Users
$targets = get-aduser -filter {Enabled -eq $true} -searchbase $ADSearchBase
foreach ($user in $targets)
{
$mbxalias = (get-mailbox -identity $user.SamAccountName).Alias
Set-ADUser $user -add @{proxyaddresses="smtp:$mbxalias@$domain"}
}
#Distribution Groups
$grouptargets = get-adgroup -filter "groupcategory -eq 'distribution'" -searchbase $ADSearchBase
foreach ($group in $grouptargets)
{
$mbxalias = (get-distributiongroup -identity $group.SamAccountName).Alias
Set-ADGroup $group -add @{proxyaddresses="smtp:$mbxalias@$domain"}
}
#Dynamic Distribution Groups
$dyngrouptargets = get-adobject -filter "objectclass -eq 'msExchDynamicDistributionList'" -searchbase $ADSearchBase
foreach ($dyngroup in $dyngrouptargets)
{
$mbxalias = (get-dynamicdistributiongroup -identity $dyngroup.Name).Alias
Set-ADObject $dyngroup -add @{proxyaddresses="smtp:$mbxalias@$domain"}
}