Neuer E-Mail-Alias für alle Exchange Benutzer

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"}
}

[Tech-Tipp] Hyper-V VMs schalten NumLock aus

Sehr nervig, aber relativ einfach zu beheben, ist das Problem, dass virtuelle Maschinen (VMs), die unter Microsoft Hyper-V (Server 2012 und Windows 8) laufen, bei einer Konsolenverbindung (also nicht per RDP) den NumLock ausschalten. So muss man nach der Benutzung der direkten Verbindung immer überprüfen, ob NumLock wieder angeschaltet ist, bevor man was auf dem Nummernblock eintippt.

Mit dem Windows PowerShell Befehl (als Admin ausführen)

Set-VMBios [VM-Name] -EnableNumLock

wird NumLock für die konkrete VM aktiviert. Die VM muss dabei ausgeschaltet sein.

Hat man mehrere VMs, kann man auch mehrere gleichzeitig ändern. Auch hier müssen die VMs selbstverständlich ausgeschaltet sein, was der erste Teil des PowerShell-Scripts überprüft:

$NumLockVMs = Get-VM  | Where-Object -Property State -EQ "Off"
$NumLockVMs | Set-VMBios -EnableNumLock