Microsoft Exchange Server 2010: Einführung in die Exchange-Verwaltungsshell

Die Exchange-Verwaltungsshell gibt Ihnen vollständige Kontrolle über alle Aspekte Ihrer Exchange-Infrastruktur, die von Windows PowerShell ausgeführt werden.

Ein Auszug aus "Exchange 2010 – A Practical Approach," von Red Gate Bücher (2009) veröffentlicht.

Jaap Wesselius

Exchange Management Shell (EMS) ist eine umfassende Management-Schnittstelle, mit der Sie alle Aspekte der Exchange-Organisation verwalten können. EMS ist die primäre Management-Schnittstelle. Exchange-Verwaltungskonsole (EMC) ist tatsächlich gebaut "im Vordergrund" davon. Jede Aktion, Sie in der Exchange-Verwaltungskonsole nehmen, ist on the Fly in ein EMS-Befehl übersetzt und ausgeführt.

Unter der Haube verwendet EMS Windows PowerShell 2.0. In Kombination mit den remote-Management-Funktionen in Windows Server 2008 und Windows Server 2008 R2 können Sie Ihrer Exchange-Umgebung von einem Remotestandort aus verwalten. EMS ist tatsächlich eine Obermenge von Befehlen auf der Basis von Windows PowerShell.

Zusätzlich zu den Befehlszeilen-Schnittstelle hat Windows PowerShell 2.0 auch eine integrierte Skripting-Umgebung die ist eine integrierte grafische Benutzeroberfläche. Diese können auf einfache Weise Windows PowerShell Skripts erstellen. Es ist auch mit Windows-Remoteverwaltung integriert, so dass Sie Windows PowerShell für die Remoteverwaltung Ihrer Exchange 2010-Umgebung mit dem standard-HTTPS-Protokoll verwenden können. Alles, was Sie brauchen ist eine Arbeitsstation oder einem Server mit Windows PowerShell 2.0.

Starten Sie die Shell

Wenn die EMS gestartet wird, im Grunde sehen Sie ein leeres Feld mit nur einer Eingabeaufforderung – genau wie die Windows-Eingabeaufforderung. Get-Befehl eingeben, um eine Liste der verfügbaren Befehle in dieser Phase zu erhalten.

Für den hartgesottenen GUI-Administratoren ein Windows PowerShell-Befehl besteht aus zwei Teilen: ein Substantiv als auch ein Verb. Verben kann Anweisungen wie get, set, neu zu entfernen, aktivieren, deaktivieren und so weiter. Die Nomen-Komponente kann jedes Objekt in der Exchange Server sein. Kombinieren Sie einfach das Nomen und das Verb wie folgt:

  • Get-ExchangeServer: eine Liste aller Exchange 2010-Server in der Organisation abzurufen.
  • Set-MailboxDatabase: Festlegen einer Eigenschaft für eine Postfachdatenbank.
  • New-Mailbox: einen neuen postfachaktivierten Benutzer erstellen.
  • Remove-Mailbox: ein Objekt und seine Postfach löschen.

Wenn Sie neu zu Windows PowerShell und die Befehle erfahren möchten, wird eine schnelle Websuche Resultate von Lernressourcen aktivieren. Sie können auch beginnen, nach der Windows PowerShell Spalten auf TechNet.

EMS-Hilfe

Wenn es etwas über die Sie bei Verwendung der EMS kennen, überprüfen Sie die Kurzanleitung. Diese befindet sich im Ordner Files\Microsoft\ExchangeServer\v14\bin\en\ExQuick.htm. Am wichtigsten und am häufigsten verwendeten Cmdlets und Variablen enthält.

Wenn Sie während der Bearbeitung Hilfe benötigen, können Sie die integrierte Hilfefunktion in die EMS. Um eine Liste aller verfügbaren Hilfe Elemente abzurufen, geben Sie einfach "Hilfe *". Benötigen Sie Hilfe zu einem bestimmten Cmdlet, geben Sie nur Hilfe und den Namen des Cmdlets. Um Hilfe zu e-Mail-Aktivieren eines vorhandenen Benutzers, z. B. Geben Sie einfach "help Enable-Mailbox".

Pipelining

Es ist ein weiteres großartiges Feature in Windows PowerShell und EMS pipelining. Dies wird die Ausgabe eines Cmdlets für eine zweite als Eingabe verwendet. Dies reduziert drastisch die Menge an Arbeit, was Sie schreiben relativ komplexe Aufgaben. Es ist nur durch Ihre Kreativität begrenzt.

Wenn Sie alle Postfächer in einer Postfachdatenbank namens "Mailbox Database 1988197524" in eine andere Postfachdatenbank namens "Mailbox Database 0823751426" verschieben möchten, verwenden Sie beispielsweise den folgenden Befehl:

Get-Mailbox –Database "Mailbox Database 1988197524" | New-MoveRequest –TargetDatabase "Mailbox Database 0823751426"

Dies geschieht Folgendes:

Get-Mailbox-–Database "Mailbox Database 1988197524" Ruft eine Liste aller Postfächer in dieser bestimmten Datenbank. Die Ausgabe dieses Cmdlets verwendet als Eingabe für das zweite Cmdlet – online-Anforderung zum Verschieben von Postfächern in die andere Datenbank. Sie können auch genauere Abfragen. Um eine Liste aller Postfächer zu erhalten, deren Name mit "Chris" beginnt, würden Sie den folgenden Befehl verwenden:

Get-Mailbox | where-object {$_. name –like "Chris*"}

Sie können dies dann als Eingabe für eine Anforderung, alle diese Postfächer in eine andere Datenbank verschieben verwenden:

Get-Mailbox | where-object {$_. name –like "Chris*"} | New-MoveRequest ' –TargetDatabase "Mailbox Database 0823751426"

Erstellen von Bulk-Benutzern

Dies kann sehr nützlich sein, besonders, wenn Sie viele Postfächer in Eile erstellen müssen. Genommen Sie an, Sie haben eine Organisationseinheit (OU) namens "Sales" in Active Directory, das 100 Benutzerobjekte enthält. Dieser Befehl erstellt ein Postfach für jeden Benutzer in dieser Organisationseinheit:

Get-User –OrganizationalUnit "Sales" | Enable-Mailbox –Database "Mailbox Database 0823751426"

Wenn mehrere Organisationseinheiten namens "Sales" vorhanden sind, müssen Sie den vollständigen Pfad der Organisationseinheit angeben, die Sie verwenden möchten:

Get-User –OrganizationalUnit "E14.local/Account/Sales" | Enable-Mailbox –Database "Mailbox Database 0823751426"

Sie können auch die Ausgabe des Befehls Get-User mit dem Parameter – Filter filtern. Um z. B., postfachaktivieren alle Benutzer, deren Company-Attribut festgelegt ist, um "Inframan", eingeben den folgenden Befehl:

Get-User –Filter {(Company –eq "Inframan")} | Enable-Mailbox –Database "Mailbox Database 0823751426"

Wenn Sie noch spezifischere werden möchten – z. B. auf postfachaktivieren alle Benutzer, deren Company-Attribut auf "Inframan" festgelegt ist und dessen abteilungsattribut ist festgelegt auf "Intern" – Geben Sie den folgenden Befehl:

Get-User –Filter {(Company –eq "Inframan") -AND (Department –eq "Intern")} | Enable-Mailbox –Database "Mailbox Database 0823751426"

Die folgenden Vorgänge sind für die Option beschließe verfügbar:

  • - und
  • – oder –
  • -nicht
  • -Eq (gleich)
  • -Ne (nicht gleich)
  • -Lt (kleiner als)
  • -Gt (größer als)
  • -wie (Zeichenfolgenvergleich)
  • -notlike (Zeichenfolgenvergleich)

In einigen Fällen finden es sinnvoll, eine Liste von Benutzern aus einer CSV-Datei importieren Sie. Sie können diese Arten von Listen aus einer anderen Active Directory oder sogar eine Human Resources-Anwendung importieren. Es ist relativ einfach, importieren eine CSV-Datei mit Windows PowerShell. Das einzige benötigten bewusst ist, dass die Option – Password Klartext Eingabe nicht akzeptiert. Sie haben die Eingabe in dieses Feld in einer sicheren Zeichenfolge zu konvertieren:

$Database="Mailbox Database 1563944384" $UPN="e2010.local" $users = import-csv $args[0] function SecurePassword([string]$password) { $secure = new-object System.Security.SecureString $password.ToCharArray() | % { $secure.AppendChar($_) } return $secure }foreach ($i in $users) { $sp = SecurePassword $i.password $upn = $i.FirstName + "@"+ $upn $display = $i.FirstName + " "+ $i.LastName New-Mailbox -Password $sp -Database $Database -UserPrincipalName $UPN -Name $i.FirstName -FirstName $i.FirstName -LastName $i.LastName -OrganizationalUnit $i.OU }

In den ersten drei Zeilen gibt es drei Parameter festgelegt sind. Diese Parameter werden während der eigentlichen Erstellung des Benutzers und das Postfach verwendet. Die Datei wird in einer ForEach-Schleife gelesen, und die tatsächlichen Benutzer und Postfächer werden im Verlauf der Schleife erstellt.

Die SecurePassword-Funktion das Kennwort aus der Ausgabe CSV-Datei liest und konvertiert es in eine sichere Zeichenfolge, die verwendet wird, wiederum, wie die Kennworteingabe des während der Erstellung der Benutzer. Die CSV-Datei selbst wird wie folgt formatiert:

FirstName, LastName, Password, OU Jaap, Wesselius, Pass1word, Accounts Michael, Francis, Pass1word, Accounts Michael, Smith, Pass1word, Accounts John, Doe, Pass1word, Accounts

Um dieses Skript verwenden zu können, speichern Sie die Skriptdatei als "create.ps1" in einem Verzeichnis wie "c:\Scripts". Sie müssen auch die CSV-Ausgabe-Datei als users.csv im selben Verzeichnis speichern. Um das Skript tatsächlich verwenden möchten, öffnen Sie eine Eingabeaufforderung Windows PowerShell, navigieren Sie zum Verzeichnis "c:\Scripts", und geben Sie den folgenden Befehl:

. \create.ps1 users.csv

Diese Techniken helfen Ihnen am besten Nutzen aus der die EMS, und einige der macht der Windows PowerShell zum Verwalten Ihrer Exchange-Infrastruktur zu verwenden.

Jaap Wesselius

Jaap Wesseliusist der Gründer von DM-Berater, ein Unternehmen mit einem starken Fokus auf Lösungen für messaging und Zusammenarbeit. Nach acht Jahren bei Microsoft tätig, beschlossen, Wesselius, mehr Zeit in die Gemeinschaft Exchange in den Niederlanden, was zu Exchange Server MVP-Auszeichnung im Jahr 2007 zu begehen. Außerdem ist er regelmäßig Beiträge an Niederländische Unified Communications Benutzergruppe und einen Autor mit regelmäßigen Beiträgen für Simple-Talk.

Weitere Informationen zu "Exchange 2010 – A Practical Approach" unter red-gate.com/our-company/about/book-store.

Verwandter Inhalt