構文

 

適用先: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

トピックの最終更新日: 2007-02-08

ここでは、Exchange ヘルプ ドキュメントにある Exchange 管理シェルのパラメータ セットと例の読み方、および Exchange 管理シェルがコマンドを処理できるようにコマンドを書式設定する方法について説明します。Exchange 管理シェルでは、パラメータ セットはコマンドレットのヘルプ トピックの [用途] セクションに表示されます。Microsoft Exchange Server 2007 ヘルプ ファイルでは、パラメータ セットはコマンドレットのヘルプ トピックの「構文」に表示されています。

コマンドレット ヘルプの詳細については、「ヘルプについて」を参照してください。

Exchange 管理シェルのコマンドの規則

Exchange 管理シェルは、コマンドを実行するときに必須の情報と省略可能な情報を理解したり、パラメータとその値を指定する方法を理解しやすくしたりするような、いくつかのコマンドの規則に従っています。Exchange 管理シェルのヘルプと Exchange 2007 ヘルプ ファイルにどのようにパラメータ セットが表示されるかの例については、このトピックの「パラメータ セット」を参照してください。

表 1 は、これらのコマンドの規則を一覧表示したものです。

表 1    Exchange 管理シェル コマンドの規則

記号 説明

-

ハイフンは、コマンド ラインの次の単語がパラメータであることを示します。最も一般的なパラメータは、Identity です。パラメータの詳細については、「パラメータ」を参照してください。

< >

山かっこは、パラメータ値を囲むために使用されます。これらの値には、選択肢または名前を指定できます。たとえば、-Parameter1 <1 | 2 | 3> では、各数字は特定の値の選択肢であることを表します。-Parameter2 <ServerName> では、ServerName は実際の値を表します。

[ ]

角かっこは、省略可能なパラメータとその値を囲むために使用されます。角かっこで囲まれていないパラメータとその値は、必須です。

|

パラメータ値の一覧にパイプ記号が使用されている場合 (-Parameter1 <1 | 2 | 3> など)、使用可能な値の選択肢を表します。この規則は、System.Enum パラメータと System.Boolean パラメータに適用されます。

これらのコマンドの規則によって、コマンドを構成する方法が理解しやすくなります。コマンドをコマンド ラインに入力する場合は、これらの規則は入力しません。

パラメータ セット

Exchange ヘルプ ドキュメントでは、すべてのコマンドレットはパラメータ セットで関連するパラメータを表示しています。パラメータ セットとは、相互に使用することができるパラメータの集合です。あるパラメータ セットにあって、別のパラメータ セットにはないパラメータは、相互に排他的です。それらのパラメータを一緒に使用することはできません。

すべてのコマンドレットがパラメータ セットを持っていますが、その多くは 1 つのパラメータ セットしか持っていません。つまり、そのコマンドレットのすべてのパラメータを相互に使用することができます。その他のコマンドレットには、複数のパラメータ セットがあります。次の例は、New-SystemMessage コマンドレットで使用できるパラメータ セットを表したものです。

New-SystemMessage -DsnCode <EnhancedStatusCode> -Internal <$true | $false>
-Language <CultureInfo> -Text <String> [-DomainController <String>] [-Templ
ateInstance <MshObject>]

New-SystemMessage -Language <CultureInfo> -QuotaMessageType <WarningMailbox
UnlimitedSize | WarningPublicFolderUnlimitedSize | WarningMailbox | Warning
PublicFolder | ProhibitSendMailbox | ProhibitPostPublicFolder | ProhibitSen
dReceiveMailBox> -Text <String> [-DomainController <String>] [-TemplateInst
ance <MshObject>]

New-SystemMessage コマンドレットには、2 つのパラメータ セットがあります。最初のパラメータ セットには DsnCode パラメータと Internal パラメータが含まれ、2 番目のパラメータ セットには QuotaMessageType パラメータが含まれています。つまり、DsnCode パラメータと Internal パラメータは、相互に使用することができます。しかし、QuotaMessageType パラメータと同時に使用することはできません。残りのパラメータ、LanguageTextDomainController、および TemplateInstance は、両方のパラメータ セットに一覧表示されています。つまり、それらのパラメータは DsnCode パラメータ、Internal パラメータ、および QuotaMessageType パラメータと同時に使用できます。

パラメータ セットは、1 つのコマンドレットに複数の用途があることを示しています。たとえば、New-SystemMessage コマンドレットを使用して、カスタマイズした配信状態通知 (DSN) メッセージを構成することも、カスタマイズしたメールボックス クォータ制限メッセージを構成することもできます。ただし、1 つのパラメータは他のパラメータとは互換性のない関数を実行するので、コマンドレットは通常、複数のパラメータ セットを持っています。たとえば、次の例は、New-AddressList コマンドレットのパラメータ セットを示したものです。

New-AddressList -Name <String> [-Company <MultiValuedProperty>] [-Container
 <AddressListIdParameter>] [-Department <MultiValuedProperty>] [-DisplayNam
e <String>] [-DomainController <String>] [-IncludedRecipients <Nullable>] [
-StateOrProvince <MultiValuedProperty>] [-TemplateInstance <MshObject>]

New-AddressList -Name <String> [-Container <AddressListIdParameter>] [-Disp
layName <String>] [-DomainController <String>] [-RecipientFilter <String>]
[-TemplateInstance <MshObject>] 

New-AddressList コマンドレットでは、最初のパラメータ セットには Company パラメータ、Department パラメータ、IncludedRecipients パラメータ、および StateOrProvice パラメータに指定した値に基づく新しいアドレス一覧を作成できるパラメータが一覧表示されます。ただし、RecipientFilter パラメータで指定したカスタム フィルタを使用して、新しいアドレス一覧を作成することもできます。新しいアドレス一覧を作成する場合、RecipientFilter パラメータで指定したカスタム フィルタは、最初のパラメータ セット内のパラメータを使用して構成したフィルタよりも優先されます。したがって、RecipientFilter パラメータはその独自のパラメータ セットの中に格納されます。Exchange 2007 では、同じコマンド ラインで両方のパラメータを同時に指定することはできません。New-SystemMessage コマンドレットの場合と同じように、New-AddressList コマンドレットの両方のパラメータ セットにある残りのパラメータは、どのような組み合わせでも使用することができます。

引用符の使用

二重引用符 (") は、スペースを含む特定の値を囲んでパラメータに渡すときに、最も一般的に使用されます。たとえば、Contoso Receive ConnectorSet-ReceiveConnector コマンドレットの Name パラメータに渡す場合、次の例のように Contoso Receive Connector を引用符で囲む必要があります。

Set-ReceiveConnector -Name "Contoso Receive Connector"

文字列を引用符で囲まないと、Exchange 管理シェルは文字列の各単語をコマンド ラインの新しい引数として解釈しようとするために、エラーを表示します。

Exchange 管理シェルでは、二重引用符と単一引用符 (') は異なる意味を持ちます。文字列を二重引用符で囲む場合、Exchange 管理シェルはすべての変数を一致する値に置き換えます。たとえば、ServerName の値が $Server という変数に代入されるとします。その後、コマンド ラインに次のコマンドが入力されるとします。

"$Server Example"

次の出力が表示されます。

ServerName Example

変数 $Server は、出力で値 ServerName に置き換わります。

文字列を単一引用符で囲む場合、Exchange 管理シェルは変数を一致する値に置き換えようとしません。この場合も、変数 $Server が値 ServerName に代入されるとします。その後、コマンド ラインに次のコマンドが入力されるとします。

'$Server-Example'

次の出力が表示されます。

$Server-Example

変数 $Server は値に置き換わりません。これは Exchange 管理シェルが、単一引用符で囲まれたテキスト内に含まれる変数を解釈しないためです。

変数の詳細については、「ユーザー定義変数」および「シェル変数」を参照してください。

また、ドル記号 ($)、二重または単一引用符、逆引用符 (`) などの文字を表示することもできます。これらの文字は、Exchange 管理シェルで使用する場合に特別な意味を持ちます。これらの文字が二重引用符で囲まれた文字列で表示される場合に、Exchange 管理シェルに解釈せず、表示しないように指示するには、逆引用符エスケープ文字 (`) を使用する必要があります。たとえば、コマンド ラインに次のテキストを入力します。

"The price is `$23."

次の出力が表示されます。

The price is $23.

逆引用符エスケープ文字をドル記号 ($) と同時に使用しているため、Exchange 管理シェルは $ を変数の開始文字として解釈しません。

文字列を単一引用符で囲む場合、文字列の単一引用符を表示する必要がある場合を除き、文字をエスケープする必要はありません。単一引用符で囲まれた文字列の単一引用符を表示する必要がある場合、二重引用符 ('') を使用する必要があります。たとえば、コマンド ラインで次のように入力します。

'Don''t confuse two single quotation marks with a double quotation mark!'

次の出力が表示されます。

Don't confuse two single quotation marks with a double quotation mark!

Exchange 管理シェルのコマンド演算子

Exchange 管理シェルでコマンドを入力する場合は、表 2 の演算子を使用します。演算子の中には、前に説明したコマンドの規則と一致するものもあります。しかし、それらの演算子をコマンド ラインに入力する場合、その意味は異なります。表 2 は、コマンドで使用できる有効な演算子を表したものです。

表 2    Exchange 管理シェルのコマンド演算子

演算子 説明

=

等号は、代入文字として使用されます。等号の右辺の値が、等号の左辺にある変数に代入されます。次の文字も代入文字です。

  • +=   等号の右辺の値を、等号の左辺にある変数に含まれている現在の値に加算します。
  • -=   等号の左辺にある変数に含まれている現在の値から、等号の右辺の値を減算します。
  • *=   等号の左辺にある変数の現在の値に、等号の右辺に指定した値を乗算します。
  • /=   等号の左辺にある変数の現在の値を、等号の右辺に指定した値で除算します。
  • %=   等号の左辺にある変数の現在の値を、等号の右辺に指定した値で除算した余りを求めます。

:

コロンは、次の例に示すように、パラメータの名前とパラメータの値を区切るために使用されます。-Enabled:$True。スイッチ パラメータを除くすべてのパラメータの種類で、コロンの使用は省略可能です。スイッチ パラメータの詳細については、「パラメータ」を参照してください。

!

感嘆符は、NOT 論理演算子です。等号 () 記号と組み合わされて使用すると、"と等しくない" という意味になります。

[ ]

角かっこは、配列位置のインデックス値を指定するために使用されます。たとえば、$Red[9] は配列内の 10 番目のインデックス位置 ($Red) を指しています。配列のインデックスはゼロ (0) から始まるので、10 番目のインデックス位置を指すことになります。

また、角かっこを使用して、 $A=[XML] "<Test><A>value</A></Test>" のように、種類を変数に代入することもできます。有効な種類は次のとおりです。ArrayBoolByteCharChar[]DecimalDoubleFloatIntInt[]LongLong[]RegExSingleScriptBlockStringType、および XML.

{ }

中かっこは、次の例に示すように、コマンドに式を含めるために使用されます。 Get-Process | Where { $_.HandleCount -gt 400 }

|

パイプ記号は、あるコマンドレットの出力を他のコマンドレットにパイプ処理するために使用されます。たとえば、次のコマンドは、Get-Mailbox コマンドレットからの出力を Move-Mailbox コマンドレットにパイプ処理します。 Get-Mailbox -Server SRV1 | Move-Mailbox -TargetDatabase SRV2

>

終わり山かっこは、次の例に示すように、コマンドの出力をファイルに送信するために使用されます。Get-TransportRulePredicate > c:\out.txt。送信先のファイルは上書きされます。

>>

二重終わり山かっこは、ファイルが存在する場合は、コマンドの出力をファイルに付加するために使用されます。ファイルが存在しない場合は、新しいファイルが作成されます。次の例は、二重終わり山かっこの使用方法を示したものです。 Get-TransportRulePredicate >>c:\out.txt

" "

引用符は、スペースを含む文字列を囲むために使用されます。

$

ドル記号は、変数を表します。たとえば、$Blue = 10 は、10 の値を $Blue という変数に代入します。

@

@ 記号は、連想配列を参照します。詳細については、「配列」を参照してください。

$( )

かっこが付いたドル記号 ($) は、コマンド置換を表します。次の例に示すように、あるコマンドの出力を他のコマンドの引数として使用する場合にコマンド置換を使用することができます。 Get-ChildItem $(Read-Host -Prompt "Enter FileName: ")

..

二重ピリオドは、値の範囲を表します。たとえば、次の例に示すように、配列に複数のインデックスが含まれる場合に次のコマンドを指定すると、2 番目と 5 番目の間にあるすべてのインデックスの値が返されます。 $Blue[2..5]

+

+ 演算子は、2 つの値を加算します。たとえば、6 + 612 と等しくなります。

-

- 演算子は、ある値から別の値を減算します。たとえば、12 - 66 と等しくなります。

また、- 演算子を使用して、-6 のように負数を表すこともできます。たとえば、-6 * 6-36 と等しくなります。

*

ワイルドカード文字には、複数の意味があります。ワイルドカード文字を使用して、文字列と一致させたり、数値を乗算したり、文字列と数値が同時に使用されている場合は、次の例に示すように、文字列の値を数値で指定した回数繰り返したりすることができます。"Test" * 3 TestTestTest と等しくなります。

/

/ 演算子は、ある値を別の値で除算します。たとえば、6 / 6 1 と等しくなります。

%

% 演算子は、除算演算子からの余りを返します。たとえば、, 6 % 4 2 と等しくなります。

参照している情報が最新であることを確認したり、他の Exchange Server 2007 ドキュメントを見つけたりするには、Exchange Server TechCenter を参照してください。