Syntax der Exchange-Cmdlets

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

  • Parameter, die für das Cmdlet verfügbar sind.

  • Werte, die von den einzelnen Parametern akzeptiert werden.

  • Parameter, die gemeinsam verwendet werden können, und Parameter, die separat verwendet werden müssen.

In diesem Thema werden diese Konventionen sowie die Syntax erläutert, die zur Ausführung von Befehlen in Exchange PowerShell notwendig 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. Beispielsweise [-WhatIf] oder [-ResultSize <Unlimited>].
Parameter/Wert-Paare, die nicht in eckige Klammern eingeschlossen sind, sind erforderlich. Beispiel: -Password <SecureString>.
Wenn der Parameter Name selbst in eckige Klammern eingeschlossen ist, bedeutet dies, dass der Parameter ein positioneller Parameter ist (Sie können den Parameterwert ohne Angabe des Parameters verwenden), und positionelle Parameter können erforderlich oder optional sein.
Beispielsweise bedeutet Get-Mailbox [[-Identity] <MailboxIdParameter>] , dass der Identity -Parameter positionelle ist (da er in eckige Klammern eingeschlossen ist) und optional (da das gesamte Parameter-Wert-Paar in eckige Klammern eingeschlossen ist), Get-Mailbox -Identity <MailboxIdParameter> sodass Get-Mailbox <MailboxIdParameter>Sie oder verwenden können. Set-Mailbox [-Identity] <MailboxIdParameter> In ähnlicher Weise bedeutet, dass der Identity -Parameter positionelle ist (da er in eckige Klammern eingeschlossen ist) und erforderlich ist (da das gesamte Parameter-Wert-Paar nicht in eckige Klammern Set-Mailbox -Identity <MailboxIdParameter> eingeschlossen Set-Mailbox <MailboxIdParameter>ist), sodass Sie oder verwenden können.
| Pipe-Symbole in Parameterwerten geben eine Auswahl zwischen Werten an. <Beispiel:-Enabled $true | $false> gibt an, dass der Parameter Enabled den Wert $true oder $falsehaben 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 kann nicht mit einigen Parametern in unterschiedlichen Parametersätzen verwendet werden.

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 <$true | $false> -Language <CultureInfo> -Text <String> [-Confirm] [-DomainController <Fqdn>] [-WhatIf] <COMMON PARAMETERS>

New-SystemMessage -Language <CultureInfo> -QuotaMessageType <WarningMailboxUnlimitedSize| WarningPublicFolderUnlimitedSize | WarningMailbox | WarningPublicFolder | ProhibitSendMailbox | ProhibitPostPublicFolder | ProhibitSendReceiveMailBox> -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 in demselben Befehl verwenden:

  • DsnCode

  • Intern

  • Sprache

  • Text

  • Confirm

  • Qualified

  • WhatIf

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

  • Language

  • QuotaMessageType

  • Text

  • Confirm

  • Qualified

  • WhatIf

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

  • DsnCode und QuotaMessageType.

  • Intern und QuotaMessageType.

Der <COMMON PARAMETERS> Eintrag gibt an, dass das Cmdlet die grundlegenden Windows PowerShell Parameter unterstützt, die für praktisch jedes Cmdlet verfügbar sind (beispielsweise Debug). Sie können allgemeine Parameter mit Parametern aus beliebigen Parametersätzen 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 Contoso Receive Connector nicht in Anführungszeichen einschließen, versucht Exchange PowerShell, jedes Wort als neues Argument zu behandeln, und der Befehl kann nicht ausgeführt werden. In diesem Beispiel wird eine Fehlermeldung angezeigt, die wie folgt aussieht:

A positional parameter cannot be found that accepts argument 'Receive'

Wenn der Wert Variablen enthält, müssen Sie zwischen einfachen Anführungszeichen und Anführungszeichen vorsichtig wählen. Nehmen wir beispielsweise an, Sie haben eine $Server Variable mit dem Namen Mailbox01, die den Wert aufweist.

  • Doppelte Anführungszeichen: Variablen werden durch ihre Werte ersetzt. Die Eingabe "$Server Beispiel" führt zu der Ausgabe Mailbox01 Example.

  • Einfache Anführungszeichen: Variablen werden wörtlich behandelt. Die Eingabe "$Server Beispiel" führt zu der 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, damit Sonderzeichen buchstabengetreu behandelt werden und nicht entsprechend ihrer normalen Funktion in dieser Sprache. Wenn Sie in Exchange PowerShell eine Textzeichenfolge in doppelte Anführungszeichen setzen, ist das Escapezeichen das Escapezeichen für das Anführungszeichen ` ().

Wenn Sie beispielsweise die Ausgabe The price is $23möchten, geben Sie den Wert "der Preis ist `$23" ein. Das Escape-Zeichen ist erforderlich, da das Dollarzeichen ($) in Exchange PowerShell Variablen definiert.

Wenn Sie die Zeichenfolge in einfache Anführungszeichen einschließen, ist das einzige Sonderzeichen, das Sie befürchten müssen, das einfache Anführungszeichen selbst, das zwei einfache Anführungszeichen (' ') erfordert.

Wenn Sie beispielsweise die Ausgabe Don't confuse two single quotation marks with a double quotation mark!möchten, geben Sie den Wert "Don ' t verwechseln Sie zwei einfache Anführungszeichen mit einem 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 rechts neben dem Gleichheitszeichen von dem aktuellen Wert, der in der Variablen auf der linken Seite des Gleichheitszeichens enthalten ist.
• ** * **: Multipliziert den aktuellen Wert der Variablen links neben dem Gleichheitszeichen mit dem Wert, der auf der rechten Seite des Gleichheitszeichens angegeben ist.
/=: Dividieren Sie den aktuellen Wert der Variablen links neben dem Gleichheitszeichen durch den Wert, der auf der rechten Seite des Gleichheitszeichens angegeben ist.
%=: Ändern Sie den aktuellen Wert der Variablen links neben dem Gleichheitszeichen 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 über Switch-Parameter finden Sie unter about_Parameters.
! Das Ausrufezeichen ist ein logischer NOT-Operator. Wenn es zusammen mit dem Gleichheitszeichen ( =) verwendet wird, bedeutet diese Kombination "ungleich".
[ ] Klammern werden verwendet, um den Indexwert einer Arrayposition anzugeben. Index Werte sind Offsets, die bei Null beginnen. $Red[9] Bezieht sich beispielsweise auf die zehnte Indexposition im Array $Red,.
Klammern können auch verwendet werden, um einer Variablen einen Typ zuzuweisen (beispielsweise $A=[XML] "<Test><A>value</A></Test>"). ArrayDie folgenden Variablentypen stehen zur Verfügung Bool: Byte, Char, Char[] Decimal Double Float Int Int[] Long ScriptBlock String,,,,,,,,,,,, Type,,, und Long[] RegEx Single``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 SRV1set | -Mailbox-ProhibitSendQuota 2GB.
> Die rechteckige 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. $Blue = 10 Weist beispielsweise den Wert 10 der Variablen $Bluezu.
@ Das @-Symbol verweist auf ein assoziatives Array. Weitere Informationen finden Sie unter about_Arrays.
$( ) Ein Dollarzeichen ( $ ) mit Klammern gibt die Befehls Ersetzung 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: ").
.. Double-Periods geben einen Wertebereich an. Wenn ein Array beispielsweise mehrere Indizes enthält, können Sie die Werte aller Indizes zwischen dem zweiten und dem fünften Index zurückgeben, indem Sie den folgenden $Blue[2..5]Befehl ausführen:.
+ Der Operator + addiert zwei Werte. Beispiel: 6 + 6 ist gleich 12.
- Der - Operator subtrahiert einen Wert von einem anderen Wert (beispielsweise 12 - 6 Equals 6) oder gibt eine negative Zahl an (Beispiels -6 * 6 Weise -36Equals).
* Sie können das Platzhalterzeichen verwenden, um Zeichenfolgen zuzuordnen (beispielsweise | Get-User Where-_Object {$. Abteilungsbezogene Verkäufe * '}), Multiplizieren Sie numerische Werte (beispielsweise 6 * 6 Equals 36), oder wiederholen Sie den Zeichenfolgenwert die angegebene Anzahl von Malen "Test" * 3 ( TestTestTestbeispielsweise Equals).
/ Der Operator / dividiert einen Wert durch einen anderen. Beispiel: 6 / 6 ist gleich 1.
% In einer numerischen Auswertung gibt der Operator % den Rest einer Division zurück. Beispiel: 6 % 4 ist gleich 2.
In einer Pipeline ist das Prozentzeichen ( % ) für das ForEach-Object- Cmdlet eine Kurzform. Beispiel: Import-CSV c:\MyFile.CSV | ForEach-Object {Sets-Mailbox $._ Identitäts Name $_. Name} ist identisch mit Import-CSV c:\MyFile.CSV | % {festlegen-Mailbox $._ Identitäts Name $_. Name}. Weitere Informationen finden Sie unter about_Pipelines.
? Das Fragezeichen ( ? ) ist eine Kurzform für das Where-Object- Cmdlet. Beispiel: Get-Alias | Where-Object {$._ Definition-EQ "Clear-Host"} ist identisch mit Get-Alias | ? {$_. Definition-EQ "Clear-Host"}