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] <CommonParameters>

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

最初のパラメーター セットでは次のパラメーターを使用できるため、同じコマンドで使用できます。

  • DsnCode
  • 内部
  • Language
  • テキスト
  • 確認
  • DomainController
  • Whatif

2 番目のパラメーター セットでは次のパラメーターを使用できるため、同じコマンドで使用できます。

  • QuotaMessageType
  • Language
  • テキスト
  • 確認
  • DomainController
  • Whatif

パラメーター DsnCodeInternal は、最初のパラメーター セットでのみ使用できます。 パラメーター QuotaMessageType は、2 番目のパラメーター セットでのみ使用できます。 そのため、同じコマンドで次のパラメーターを使用することはできません。

  • DsnCode および QuotaMessageType
  • InternalQuotaMessageType

次のパラメーターは両方のパラメーター セットで使用できるため、 New-SystemMessage コマンドで使用できます。

  • Language
  • テキスト
  • 確認
  • DomainController
  • Whatif

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

Exchange PowerShell における引用符

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

  • Get-ReceiveConnector -Identity "Contoso Receive Connector"

  • Get-ReceiveConnector -Identity 'Contoso Receive Connector'

前の例では、値を単一引用符または二重引用符で囲まない場合、PowerShell は各単語を新しい引数として扱うため、コマンドは失敗します (これは Identity パラメーターの値でありReceive、指定されていない位置指定パラメーターの値と見Contosoなされます)。 この例では、エラーは次のようになります。

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

プレーン テキスト値の場合、単一引用符と二重引用符は重要ではありません。 ただし、変数が関係する場合は、選択が重要です。

  • 二重引用符: 変数は実際の値に置き換えられます。
  • 単一引用符: 変数は文字通り扱われます。

たとえば、 $Server = Mailbox01 使用する引用符に基づいて次の出力が生成されます。

  • "$Server 例" は になります Mailbox01 Example
  • '$Server 例' は になります $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 のコマンドの規則 セクションでも説明されています。 ただし、これらの記号が演算子としてコマンド ライン上で使用される場合は、異なる意味を持ちます。 たとえば、パラメーターを示すために使用される負符号は、数学演算子としてコマンドで使用することもできます。

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

角かっこは、変数に型を割り当てることもできます。 たとえば、 という名前 $A の変数を XML として識別するには、 を使用します $A=[XML] "<Test><A>value</A></Test>"。 使用可能なArrayBoolCharChar[]Byte変数型は、、DecimalSingleRegExScriptBlockStringDoubleIntTypeFloatInt[]LongLong[]および です。XML.
{ } 中かっこを使用して、コマンドに式を含めます。 たとえば、Get-Process | Where {$_.HandleCount -gt 400} のように指定します。
| パイプ 記号を使用して、あるコマンドの出力を別のコマンドにパイプします。 たとえば、「 Get-Mailbox -Server SRV1 | Set-Mailbox -ProhibitSendQuota 2GB 」のように入力します。
> コマンドの出力をファイルに送信するには、右山かっこを使用します。 ファイルが既に存在する場合、内容は上書きされます。 たとえば、「 Get-TransportRule > "C:\My Documents\TransportRules.txt" 」のように入力します。
>> コマンドの出力を既存のファイルに追加するには、二重右山かっこを使用します。 ファイルが存在しない場合は、新規にファイルが作成されます。 たとえば、「 Get-TransportRule >> "C:\My Documents\TransportRules.txt" 」のように入力します。
" 二重引用符を使用して、スペースを含むテキスト文字列を囲みます。 前に説明したように、変数は実際の値に置き換えられます。
$ ドル記号は変数を示します。 たとえば、値 10 という名前 $Blue の変数を作成するには、 を使用します $Blue = 10。 変数を格納した後、パラメーターの値として使用できます。
@ at 記号は連想配列を参照します。 詳細については、「 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"} と同じです。