Syntax der Exchange-Cmdlets

Exchange-Cmdlet-Referenzartikel verwenden eine standardisierte Methode, die wichtige Aspekte des Cmdlets beschreibt. Beispiel:

  • Parameter, die im Cmdlet verfügbar sind.
  • Werte, die jeder Parameter akzeptiert.
  • Parameter, die zusammen verwendet werden können, und Parameter, die separat verwendet werden müssen.

In diesem Artikel werden diese Konventionen und auch die Syntax erläutert, die zum Ausführen von Befehlen in Exchange PowerShell erforderlich ist.

Befehlskonventionen in Exchange PowerShell

Die Exchange PowerShell-Hilfe folgt Konventionen, die angeben, was erforderlich oder optional ist und wie Sie Parameter und Werte eingeben, wenn Sie einen Befehl ausführen. Diese Befehlskonventionen sind in der folgenden Tabelle aufgelistet.



Symbol Beschreibung
- Ein Bindestrich gibt einen Parameter an. Beispiel: -Identity.
< > Spitze Klammern zeigen die möglichen Werte für einen Parameter an. Beispiel: -Location <ServerName> oder -Enabled <$true | $false> .
[ ] Eckige Klammern geben optionale Parameter und deren Werte an. Zum Beispiel [-WhatIf] oder [-ResultSize <Unlimited>].

Parameter/Wert-Paare, die nicht in eckige Klammern eingeschlossen sind, sind erforderlich. Beispiel: -Password <SecureString>.

Wenn der Parametername selbst in eckige Klammern eingeschlossen ist, bedeutet dies, dass es sich bei dem Parameter um einen Positionsparameter handelt (Sie können den Parameterwert verwenden, ohne den Parameter anzugeben), und Positionsparameter können erforderlich oder optional sein.

Bedeutet beispielsweise, dass der Parameter Identity positional ist (da er in eckige Klammern eingeschlossen ist) und optional ist (da das gesamte Get-Mailbox [[-Identity] <MailboxIdParameter>] Parameter-Wert-Paar in eckige Klammern eingeschlossen ist), damit Sie oder verwenden Get-Mailbox -Identity <MailboxIdParameter> Get-Mailbox <MailboxIdParameter> können. In ähnlicher Weise bedeutet dies, dass der Parameter Identity positional ist (da er in eckige Klammern eingeschlossen ist) und erforderlich ist (da das gesamte Set-Mailbox [-Identity] <MailboxIdParameter> Parameter-Wert-Paar nicht in eckige Klammern eingeschlossen ist), sodass Sie verwenden oder verwenden Set-Mailbox -Identity <MailboxIdParameter> Set-Mailbox <MailboxIdParameter> können.

| Pipe-Symbole in Parameterwerten geben eine Auswahl zwischen Werten an. Beispielsweise gibt -Enabled <$true | $false> an, dass der Parameter Enabled den Wert oder $true haben $false kann.

Diese Befehlskonventionen helfen Ihnen zu verstehen, wie ein Befehl aufgebaut wird. Mit Ausnahme des Bindestrichs, der einen Parameter angibt, verwenden Sie diese Symbole nicht so, wie sie in der Tabelle beschrieben sind, wenn Sie Cmdlets in Exchange PowerShell ausführen.

Parametersätze in Exchange PowerShell

Bei Parametersätzen handelt es sich um Gruppen von Parametern, die zusammen in einem Befehl verwendet werden können. Obwohl Parametersätze in der Regel einige Parameter gemeinsam verwenden, enthält jeder Parametersatz mindestens einen Parameter, der in den anderen Parametersätzen nicht verfügbar ist und nicht mit einigen Parametern in verschiedenen Parametersätzen verwendet werden kann.

Viele Cmdlets weisen nur einen Parametersatz auf, was bedeutet, dass alle verfügbaren Parameter zusammen verwendet werden können. Andere Cmdlets weisen mehrere Parametersätze auf, was bedeutet, dass einige Parameter Funktionen ausführen, die mit anderen Parametern nicht kompatibel sind. Nehmen wir beispielsweise an, die folgenden Parametersätze stehen für das Cmdlet New-SystemMessage zur Verfügung:

New-SystemMessage -DsnCode <EnhancedStatusCode> -Internal <Boolean> -Language <CultureInfo> -Text <String> [-Confirm] [-DomainController <Fqdn>] [-WhatIf] <COMMON PARAMETERS>

New-SystemMessage -Language <CultureInfo> -QuotaMessageType <QuotaMessageType> -Text <String> [-Confirm] [-DomainController <Fqdn>] [-WhatIf] <COMMON PARAMETERS>

Dieses Cmdlet verfügt über zwei getrennte Parametersätze. Basierend auf den Einträgen können Sie diese Parameter zusammen im gleichen Befehl verwenden:

  • DsnCode
  • Intern
  • Language
  • Text
  • Confirm
  • DomainController
  • WhatIf

Und Sie können diese Parameter zusammen in einem Befehl verwenden:

  • Language
  • QuotaMessageType
  • Text
  • Confirm
  • DomainController
  • WhatIf

Aber diese Parameter können Sie nicht zusammen in einem Befehl verwenden:

  • DsnCode und QuotaMessageType.
  • Internal und QuotaMessageType.

Der Eintrag gibt an, dass das Cmdlet die grundlegenden Windows PowerShell unterstützt, die für nahezu jedes Cmdlet verfügbar sind (z. B. <COMMON PARAMETERS> Debuggen). Sie können allgemeine Parameter mit Parametern aus einem beliebigen Parametersatz verwenden. Weitere Informationen finden Sie unter about_CommonParameters.

Anführungszeichen in Exchange PowerShell

In Exchange PowerShell verwenden Sie einfache Anführungszeichen (') oder doppelte Anführungszeichen ("), um Parameterwerte einzuschließen, die Leerzeichen enthalten. Z. B. verhalten sich die folgenden Befehle gleich:

  • Get-ReceiveConnector -Identity "Contoso Receive Connector"

  • Get-ReceiveConnector -Identity 'Contoso Receive Connector'

Wenn Sie den Wert nicht in Anführungszeichen setzen, versucht Exchange PowerShell, jedes Wort als neues Argument zu behandeln, und der Contoso Receive Connector Befehl wird fehlschlagen. In diesem Beispiel wird eine Fehlermeldung angezeigt, die wie folgt aussieht:

Es wurde kein Positionsparameter gefunden, der das Argument "Receive" akzeptiert.

Wenn der Wert Variablen enthält, müssen Sie sorgfältig zwischen einzelnen Anführungszeichen und doppelten Anführungszeichen wählen. Angenommen, Sie haben eine Variable mit dem Namen $Server , die den Wert Mailbox01 hat.

  • Doppelte Anführungszeichen: Variablen werden durch ihre Werte ersetzt. Wenn die variable $Server z. B. den Wert Mailbox01 hat, führt die Eingabe "$Server Beispiel" zur Ausgabe Mailbox01 Example .

  • Einfache Anführungszeichen: Variablen werden literal behandelt. Die Eingabe "$Server Beispiel" ergibt die Ausgabe $Server Example .

Weitere Informationen zu Variablen finden Sie unter about_Variables und about_Automatic_Variables.

Escape-Zeichen in Exchange PowerShell

In jeder Programmiersprache wird ein Escapezeichen verwendet, um Sonderzeichen wörtlich und nicht durch ihre normale Funktion in dieser Sprache zu identifizieren. Wenn Sie in Exchange PowerShell eine Textzeichenfolge in doppelte Anführungszeichen setzen, ist das Escapezeichen das Escapezeichen des Anführungszeichens ( ' ).

Wenn Sie z. B. die Ausgabe wünschen, geben Sie den The price is $23 Wert "Der Preis ist ` $23" ein. Das Escapezeichen ist für das Dollarzeichen ( $ ) erforderlich, da $Variablen in PowerShell definiert.

Wenn Sie die Zeichenfolge in einfache Anführungszeichen setzen, ist das einzige Sonderzeichen, über das Sie sich Gedanken machen müssen, das einfache Anführungszeichen selbst, für das zwei einfache Anführungszeichen zum Escapen erforderlich sind ( '' ).

Wenn Sie z. B. die Ausgabe verwenden möchten, geben Sie den Wert "Verwechseln Sie nicht zwei einfache Anführungszeichen mit einem Don't confuse two single quotation marks with a double quotation mark! doppelten Anführungszeichen!" ein.

Befehlsoperatoren in Exchange PowerShell

Die folgende Tabelle enthält die gültigen Operatoren, die in einem Exchange-Befehl verwendet werden können. Einige dieser Symbole wurden auch im früheren Abschnitt Befehlskonventionen in Exchange PowerShell beschrieben. Diese Symbole haben jedoch eine andere Bedeutung, wenn sie in der Befehlszeile als Operatoren verwendet werden. Beispielsweise kann das Minuszeichen, das zur Kennzeichnung eines Parameters verwendet wird, in einem Befehl auch als mathematischer Operator verwendet werden.



Operator Beschreibung
= Das Gleichheitszeichen dient als Zuweisungszeichen. Der Wert rechts neben dem Gleichheitszeichen wird der Variablen links neben dem Gleichheitszeichen zugewiesen. Bei den folgenden Zeichen handelt es sich ebenfalls um Zuweisungszeichen:
  • +=: Fügen Sie den Wert auf der rechten Seite des Gleichheitszeichens dem aktuellen Wert hinzu, der in der Variablen auf der linken Seite des Gleichheitszeichens enthalten ist.
  • -=: Subtrahieren Sie den Wert auf der rechten Seite des Gleichheitszeichens vom aktuellen Wert, der in der Variablen auf der linken Seite des Gleichheitszeichens enthalten ist.
  • *=: Multiplizieren Sie den aktuellen Wert der Variablen auf der linken Seite des Gleichheitszeichens mit dem Wert, der auf der rechten Seite des Gleichheitszeichens angegeben ist.
  • /=: Dividieren Sie den aktuellen Wert der Variablen auf der linken Seite des Gleichheitszeichens durch den Wert, der auf der rechten Seite des Gleichheitszeichens angegeben ist.
  • %=: Ändern Sie den aktuellen Wert der Variablen auf der linken Seite des Gleichheitszeichens durch den Wert, der auf der rechten Seite des Gleichheitszeichens angegeben ist.
: Ein Doppelpunkt kann verwendet werden, um den Namen eines Parameters von seinem Wert zu trennen. Beispiel: -Enabled:$True. Der Doppelpunkt kann mit allen Parametern mit Ausnahme von Schalterparametern verwendet werden. Weitere Informationen zu Switchparametern finden Sie unter about_Parameters.
! Das Ausrufezeichen ist ein logischer NOT-Operator. Wenn es mit dem Gleichheitszeichen ( = ) verwendet wird, bedeutet das kombinierte Paar ( != ) "nicht gleich".
[ ] Klammern werden verwendet, um den Indexwert einer Arrayposition anzugeben. Indexwerte sind Offsets, die bei Null beginnen. Verweist beispielsweise $Red[9] auf die zehnte Indexposition im Array, $Red .

Klammern können auch verwendet werden, um einer Variablen einen Typ zuzuordnen (z. B. $A=[XML] "<Test><A>value</A></Test>" ). Die folgenden Variablentypen sind verfügbar: Array , , , , , , , Bool , , Byte , , , Char , Char[] , , , Decimal , , Double Float , Int Int[] Long Long[] RegEx Single ScriptBlock String Type und XML.

{ } Geschweifte Klammern werden verwendet, um einen Ausdruck in einen Befehl einzuschließen. Beispiel: Get-Process | Where {$ _ . HandleCount -gt 400}
| Der senkrechte Strich (Pipe-Symbol) wird verwendet, wenn ein Cmdlet ein Ergebnis mittels Pipe an ein anderes Cmdlet übergibt. Beispiel: Get-Mailbox -Server SRV1 | Set-Mailbox -ProhibitSendQuota 2GB.
> Die rechtwinklige Klammer wird verwendet, um die Ausgabe eines Befehls an eine Datei zu senden, und der Inhalt der Datei wird überschrieben. Beispiel: Get-TransportRulePredicate > "C:\My Documents\Output.txt".
>> Doppelte spitze Klammern rechts werden verwendet, um die Ausgabe eines Befehls an eine vorhandene Datei anzufügen. Wenn die Datei nicht vorhanden ist, wird eine neue Datei erstellt. Beispiel: Get-TransportRulePredicate >> "C:\My Documents\Output.txt".
" Doppelte Anführungszeichen werden verwendet, um Zeichenfolgen, die Leerzeichen enthalten, einzuschließen.
$ Ein Dollarzeichen gibt eine Variable an. Weist $Blue = 10 z. B. den Wert 10 der Variablen $Blue zu.
@ Das @-Symbol verweist auf ein assoziatives Array. Weitere Informationen finden Sie unter about_Arrays.
$( ) Ein Dollarzeichen mit Klammern gibt die Befehlsersetzung an. Eine Befehlsersetzung kann verwendet werden, wenn Sie die Ausgabe eines Befehls als Argument in einem anderen Befehl nutzen möchten. Beispiel: Get-ChildItem $(Read-Host -Prompt "Enter FileName: ").
.. Doppelte Zeiträume geben einen Wertbereich an. Wenn ein Array beispielsweise mehrere Indizes enthält, können Sie die Werte aller Indizes zwischen dem zweiten und fünften Index zurückgeben, indem Sie den Befehl ausführen: $Blue[2..5] .
+ Der Pluszeichenoperator fügt zwei Werte zusammen. Beispiel: 6 + 6 ist gleich 12.
- Der Minuszeichenoperator subtrahiert einen Wert von einem anderen Wert (z. B. gleich ) oder gibt eine negative Zahl 12 - 6 an (z. B. 6 -6 * 6 gleich -36 ).
* Sie können ein Sternchen verwenden, um:
  • Übereinstimmungszeichenfolgen: Beispiel: Get-User | Where-Object {$_.Department -like 'Sales*'})
  • Multiplizieren numerischer Werte : Entspricht 6 * 6 z. B. 36
  • Wiederholen Sie den Zeichenfolgenwert eine angegebene Anzahl von Malen: Z. B. "Test" * 3 gleich TestTestTest
/ Ein Schrägstrich teilt einen Wert durch einen anderen. Beispiel: 6 / 6 ist gleich 1.
% Das Prozentzeichen hat die folgenden Verwendungsmöglichkeiten:
  • Bei einer numerischen Auswertung wird der Rest von einem Abteilungsoperator zurückgegeben. Beispiel: 6 % 4 ist gleich 2.
  • In einer Pipelineist es eine Kurzhand für das Cmdlet ForEach-Object. Beispiel: Import-Csv C:\MyFile.csv | ForEach-Object {Set-Mailbox $_.Identity -Name $_.Name} is the same as Import-Csv C:\MyFile.csv | % {Set-Mailbox $_.Identity -Name $_.Name}.
? Das Fragezeichenzeichen ist eine Kurzhand für das Cmdlet Where-Object. Beispiel: Get-Alias | Where-Object {$_.Definition -eq "Clear-Host"} is the same as Get-Alias | ? {$_.Definition -eq "Clear-Host"}.