In MS Exchange 2007/2010/2013 mehrere Postfächer auf einmal erstellen

Administratoren von MS Exchange Server 2007, 2010 und 2013 haben immer wieder den Bedarf, mehrere E-Mail-aktivierte Anwender-Accounts auf einmal zu erstellen (z.B. für eine Gruppe neuer Mitarbeiter oder für Testzwecke). Selbst im Fall, dass nur kleinere Mengen von Active Directory-Usern erstellt und mit Postfächern ausgestattet werden sollen, ist der Zeitaufwand verhältnismäßig hoch. Dieser Aufwand multipliziert sich, wenn Dutzende oder gar Hunderte Anwenderpostfächer angelegt werden sollen. Glücklicherweise gibt es einen Weg, wie man den Vorgang bis zu einem gewissen Grad automatisieren kann.

1. Erstellung einer Datei mit User-Liste

Als Erstes muss eine CSV-Datei (Comma Separated Values) angelegt werden. In dieser sind alle neuen User und Postfächer aufzulisten. Am einfachsten geht es mit Microsoft Excel, man kann sich aber auch eines gewöhnlichen Texteditors bedienen. In dem nachstehenden Beispiel werden die User nach folgenden Kriterien definiert:

Alias,Name,UPN

Es können auch weitere Werte hinzugefügt werden, und zwar für jedes Feld in dem Active Directory. Eine detaillierte Anleitung finden Sie am Ende diesen Artikels. Unsere Beispielliste sieht aus wie folgt:

Alias,Name,UPN
User_1,User 1,user1@domain
User_2,User 2,user2@domain
User_3,User 3,user3@domain

etc.

Die Kopfzeile der Liste ist sehr wichtig, sie darf nicht weggelassen werden. Die fertige Liste wird als CSV-Datei unter einem möglichst einfachen Namen gespeichert, er wird nachher in einem Skript verwendet, welches die Angaben der Datei ausliest. In unserem Beispiel heißt die Liste CreateMailboxes.csv.

2. Zuordnung des Passwortes

Als Nächstes muss für jeden neuen User ein Passwort angelegt werden. Wenn man jedem einzelnen User ein eigenes Passwort zuordnen würde, wäre das eine ziemliche Zeitverschwendung. Man macht es besser automatisch über die Exchange Management Shell. Hierzu bedient man sich folgenden Skriptes:

$Password=Read-Host “Enter Password” –AsSecureString

Im Resultat wird man aufgefordert, ein Passwort einzugeben. Wir tippen eine Phrase ein – sie wird das neue Passwort für alle User in der CSV-Liste sein. Das Passwort kann nachträglich geändert werden.

3. Import der CSV-Datei und Erstellung der Postfächer

Zum Schluss wird die zuvor vorbereitete CSV-Datei importiert, und neue E-Mail-aktivierte Postfächer werden angelegt. Hierzu tippt man in die Exchange Management Shell folgenden Befehl ein:

Import-CSV CreateMailboxes.csv | ForEach {New-Mailbox -Alias $_.alias -Name $_.name -userPrincipalName $_.UPN -Database “Mailbox Database” -OrganizationalUnit Users -Password $Password}

Das o.g. Skript kann selbstverständlich an individuelle Anforderungen angepasst werden. Die Exchange Management Shell zerlegt den Befehl in folgende Teile:

  • Import-CSV CreateMailboxes.csv – liest Angaben aus der zuvor vorbereiteten CSV-Datei aus. Im Fall, dass die Datei in einer anderen Lokation gespeichert wurde, als die, in der die Shell ausgeführt wird, muss das Skript den vollständigen Pfad zu Ihrer CSV-Datei enthalten, z.B. “c:\My Documents\CreateMailboxes.csv” (Anführungszeichen erforderlich).
  • ForEach – liest Angaben aus jeder einzelnen Zeile der CSV-Datei aus, wo die erste Zeile die Kopfzeile ist. Die Namen der Felder in der Datei werden wie Namen der Felder im Active Directory betrachtet. Zu dem Befehl können problemlos weitere Felder hinzugefügt werden, z.B. durch Hinzufügen von Company $_.company sucht das Skript nach einer Spalte namens Company und zieht sich dort Daten aus jeder Zeile.
  • New-Mailbox – dieses Element ist direkt verantwortlich für die Erstellung von Postfächern. Es unterstützt eine breite Auswahl an Parametern, definierbar für jeden User – eine Übersicht hierzu findet man auf der Webseite von Microsoft Technet: New-Mailbox cmdlet syntax. Die Werte können zu der CSV-Datei hinzugefügt, und das Skript um entsprechende Zeilen ergänzt werden.
  • OrganizationalUnit – dieser Wert bestimmt die Organisationseinheit im Active Directory, zu der die neuen User hinzugefügt werden sollen. In dem Beispielsskript sind sie in der Hauptgruppe “Users” enthalten. Zum Aufteilen der User in mehrere AD-Gruppen, muss in der CSV-Liste eine neue Spalte (z.B. “OU”) angelegt werden. Das Skript erweitert man entsprechend um einen Befehl, der in dieser Spalte befindliche Daten ausliest: -org $_.OU.
  • Password – ordnet jedem User das Passwort zu, ausgelesen aus $Password.

Ich hoffe, dieser Artikel hilft Ihnen, viel Zeit einzusparen, welche erforderlich wäre, wenn man den Vorgang Schritt für Schritt abarbeiten würde.

Empfohlene Links

TechNet: Postfach-Cmdlets in Exchange Online
CodeTwo Active Directory Photos: Verwaltung von AD-Anwenderfotos ohne PowerShell (kostenloses Tool)

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*