Exchange コマンドレットの構文

Exchange コマンドレットリファレンス記事では、コマンドレットに関する重要な側面を説明する標準化されたメソッドを使用します。 以下に例を示します。

  • コマンドレットで使用できるパラメーター。
  • 各パラメーターが受け入れる値。
  • 一緒に使用できるパラメーターと、個別に使用する必要があるパラメーター。

この記事では、これらの規則と、Exchange PowerShell でコマンドを実行するために必要な構文について説明します。

Exchange PowerShell のコマンドの規則

Exchange PowerShell では、何が必須またはオプションか、コマンドを実行する場合にどのようにパラメーターおよび値を入力するかが示され、規則に従いやすくなっています。 これらのコマンドの規則が、次の表で一覧表示されています。

記号 説明
- ハイフンはパラメーターを示します。 たとえば、「 -Identity 」のように入力します。
< > 山かっこは、パラメーターの使用可能な値を示します。 たとえば、 -Location <ServerName> -Enabled <$true | $false>。
[ ] 角かっこは、オプションのパラメーターとそれらの値を示します。 たとえば、[-WhatIf] および [-ResultSize <Unlimited>] が禁止となります。

角かっこで囲まれていないパラメーターと値のペアは、必須です。 たとえば、「 -Password <SecureString> 」のように入力します。

パラメーター名自体が角かっこで囲まれている場合は、パラメーターが 位置 指定パラメーターであることを示します (パラメーターを指定せずにパラメーター値を使用できます)、位置指定パラメーターは必須または省略可能です。

たとえば、 Get-Mailbox [[-Identity] <MailboxIdParameter>]Identity パラメーターは位置指定であり (角かっこで囲まれているため)、省略可能であることを意味します (パラメーターと値のペア全体が角かっこで囲まれているため)。Get-Mailbox -Identity <MailboxIdParameter>Get-Mailbox <MailboxIdParameter> 同様に、 Set-Mailbox [-Identity] <MailboxIdParameter>Identity パラメーターは位置指定であり (角かっこで囲まれているため)、パラメーターと値のペア全体が角かっこで囲まれていないため、または Set-Mailbox <MailboxIdParameter>を使用Set-Mailbox -Identity <MailboxIdParameter>できます。

| パラメーター値のパイプ記号は、複数の値からの選択を示します。 たとえば、-Enabled <$true | $false> は、 Enabled パラメーターに 値 $true または $falseを指定できることを示します。

これらのコマンドの規則によって、コマンドの構成が理解しやすくなります。 パラメーターを示すハイフンを例外として、Exchange PowerShell でコマンドレットを実行する場合、表で説明されている、これらの記号は使用しません。

Exchange PowerShell のパラメーター セット

パラメーター セットとは、同じコマンドで相互に使用することができるパラメーターのグループです。 通常、パラメーター セットは一部のパラメーターを共有しますが、各パラメーター セットには、他のパラメーター セットでは使用できないパラメーターが少なくとも 1 つ含まれており、異なるパラメーター セット内のパラメーターの一部では使用できません。

多くのコマンドレットには 1 つのパラメーター セットしかないため、利用可能なパラメーターはすべて相互に使用できます。 その他のコマンドレットには複数のパラメーター セットがあり、そのため一部のパラメーターが実行する機能は、他のパラメーターと互換性のないものとなります。 たとえば、次のパラメーター セットが New-SystemMessage コマンドレット上で使用できるとします。

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>

このコマンドレットには、2 つの異なるパラメーター セットがあります。 エントリに基づいて、同じコマンドでこれらのパラメーターを一緒に使用できます。

  • DsnCode
  • 内部
  • Language
  • Text
  • 確認
  • DomainController
  • Whatif

そして、同じコマンドでこれらのパラメーターを同時に使用できます。

  • Language
  • QuotaMessageType
  • Text
  • 確認
  • DomainController
  • Whatif

しかし、同じコマンドでこれらのパラメーターを同時に使用することはできません。

  • DsnCode および QuotaMessageType
  • InternalQuotaMessageType

エントリは<COMMON PARAMETERS>、実質的に任意のコマンドレット (デバッグなど) で使用できる基本的なWindows PowerShell パラメーターをコマンドレットがサポートしていることを示します。 共通パラメーターは、任意のパラメーター セットのパラメーターと共に使用できます。 詳細については、「about_CommonParameters」を参照してください。

Exchange PowerShell における引用符

Exchange PowerShell では、スペースを含むパラメーター値を囲むために単一引用符 ( ' ) または二重引用符 ( " ) を使用します。 たとえば、次のコマンドは同様に動作します。

  • Get-ReceiveConnector -Identity "Contoso Receive Connector"

  • Get-ReceiveConnector -Identity 'Contoso Receive Connector'

Contoso Receive Connector を引用符で囲まない場合、Exchange PowerShell は各単語を新しい引数として扱おうとし、コマンドは失敗します。 この例では、次のようなエラーが発生します。

引数 'Receive' を受け入れる位置指定パラメーターが見つかりません

値に変数が含まれている場合は、単一引用符と二重引用符のどちらかを慎重に選択する必要があります。 たとえば、値 Mailbox01を持つ という名前$Serverの変数があるとします。

  • 二重引用符: 変数は値で置き換えられます。 たとえば、$Server変数の値が Mailbox01 の場合、入力 "$Server Example" は 出力 Mailbox01 Exampleになります。

  • 単一引用符: 変数は文字通り扱われます。 入力 '$Server Example' は 、出力 $Server Exampleになります。

変数の詳細については、「 about_Variablesabout_Automatic_Variables」を参照してください。

Exchange PowerShell のエスケープ文字

任意のプログラミング言語では、 エスケープ文字 は、その言語の通常の関数ではなく、文字を識別するために使用されます。 Exchange PowerShell では、テキスト文字列を二重引用符で囲むと、エスケープ文字はバック引用符エスケープ文字 ( ' ) になります。

たとえば、出力 The price is $23が必要な場合 は、"価格は '$23" の値を入力します。 $ は PowerShell で変数を定義するため、ドル記号文字 ( $ ) にはエスケープ文字が必要です。

文字列を単一引用符で囲む場合、心配する必要がある唯一の特殊文字は単一引用符文字自体であり、エスケープするには 2 つの単一引用符が必要です ( '' )。

たとえば、出力 Don't confuse two single quotation marks with a double quotation mark!が必要な場合は、 "2 つの単一引用符を二重引用符で混同しないでください!" という値を入力します。

Exchange PowerShell のコマンド演算子

次の表は、Exchange コマンドで使用できる有効な演算子です。 これらの記号のいくつかは、前の Exchange PowerShell のコマンドの規則 セクションでも説明されています。 ただし、これらの記号が演算子としてコマンド ライン上で使用される場合は、異なる意味を持ちます。 たとえば、パラメーターを示すために使用される負符号は、数学演算子としてコマンドで使用することもできます。

オペレーター 説明
= 等号は、代入文字として使用されます。 等号の右辺の値が、等号の左辺にある変数に代入されます。 次の文字も代入文字です。
  • +=: 等号の右側の値を、等号の左側の変数に含まれている現在の値に追加します。
  • -=: 等号の左側にある変数に含まれている現在の値から、等号の右側の値を減算します。
  • *=: 等号の左側にある変数の現在の値に、等号の右側に指定された値を乗算します。
  • /=: 等号の左側にある変数の現在の値を、等号の右側に指定された値で除算します。
  • %=: 等号の左側にある変数の現在の値を、等号の右側に指定された値で変更します。
: コロンはパラメーターの名前とパラメーターの値を区切るために使用されます。 たとえば、「 -Enabled:$True 」のように入力します。 スイッチ パラメーターを除くすべてのパラメーターの種類で、コロンの使用は省略可能です。 スイッチ パラメーターの詳細については、「 about_Parameters」を参照してください。
! 感嘆符は、NOT 論理演算子です。 等しい ( = ) 記号で使用される場合、結合されたペア (!=) は "等しくない" を意味します。
[ ] 角かっこは、配列位置のインデックス値を指定するために使用されます。 インデックス値は、ゼロから始まるオフセットです。 たとえば、$Red[9]配列内の 10 番目のインデックス位置を参照します。 $Red

角かっこを使用して、変数に型を割り当てることもできます (例: $A=[XML] "<Test><A>value</A></Test>")。 使用できるArrayBoolCharChar[]Byte変数型は、、DecimalSingleRegExScriptBlockStringDoubleIntTypeFloatInt[]LongLong[]およびです。XML.

{ } 中かっこは、コマンドに式を含めるために使用されます。 たとえば、Get-Process | Where {$_.HandleCount -gt 400} です。
| パイプ記号は、あるコマンドレットの出力を他のコマンドレットにパイプ処理するために使用されます。 たとえば、-Server SRV1 |Get-MailboxSet-Mailbox -ProhibitSendQuota 2 GB。
> 終わり山かっこは、コマンドの出力をファイルに送信するために使用され、ファイルの内容は上書きされます。 たとえば、「 Get-TransportRulePredicate > "C:\My Documents\Output.txt" 」のように入力します。
>> 二重終わり山かっこは、コマンドの出力を既存のファイルに付加するために使用されます。 ファイルが存在しない場合は、新規にファイルが作成されます。 たとえば、「 Get-TransportRulePredicate >> "C:\My Documents\Output.txt" 」のように入力します。
" 二重引用符は、スペースを含む文字列を囲むために使用されます。
$ ドル記号は、変数を表します。 たとえば、$Blue = 10変数 $Blueに値10を割り当てます。
@ @ 記号は、連想配列を参照します。 詳細については、「 about_Arrays」を参照してください。
$( ) かっこ付きのドル記号は、コマンドの置換を示します。 あるコマンドの出力を他のコマンドの引数として使用する場合にコマンド置換を使用することができます。 たとえば、「 Get-ChildItem $(Read-Host -Prompt "Enter FileName: ") 」のように入力します。
.. 二重ピリオドは、値の範囲を表します。 たとえば、配列に複数のインデックスが含まれている場合は、 コマンド $Blue[2..5]を実行して、2 番目と 5 番目のインデックスの間のすべてのインデックスの値を返すことができます。
+ 正符号演算子は、2 つの値を加算します。 たとえば、 6 + 612 と等しくなります。
- 負符号演算子は、別の値から 1 つの値を減算するか (たとえば、等しい) か、 12 - 6-6 * 6負の数値 (等しいなど) を示します-366
* アスタリスクを使用すると、次のことができます。
  • 文字列の一致: たとえば、 Get-User | Where-Object {$_.Department -like 'Sales*'})
  • 数値を乗算する: たとえば、 6 * 6 等しい 36
  • 文字列値を指定した回数繰り返します。たとえば、 "Test" * 3 等しい場合などです。 TestTestTest
/ スラッシュは、1 つの値を別の値で除算します。 たとえば、 6 / 61 と等しくなります。
% パーセント記号には、次の用途があります。
  • 数値評価では、除算演算子から剰余を返します。 たとえば、 6 % 42 と等しくなります。
  • パイプラインでは、ForEach-Object コマンドレットの短縮形です。 たとえば、 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} と同じです。
? 疑問符文字は Where-Object コマンドレットの短縮形です。 たとえば、 Get-Alias | Where-Object {$_.Definition -eq "Clear-Host"} is the same as Get-Alias | ? {$_.Definition -eq "Clear-Host"} と同じです。