WhatIf、Confirm、および ValidateOnly パラメータ

 

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

トピックの最終更新日: 2007-06-19

Exchange 管理シェルは、非常に強力で柔軟な管理インターフェイスです。コマンド ラインを使用して対話形式でインフラストラクチャを管理できます。頻繁に使用するタスクや複雑なタスクを自動化するスクリプトを作成して実行できます。Exchange 管理シェル自体やスクリプトの使用方法を学習するときには、コマンドがデータを操作する前にコマンドの結果を表示したい場合があります。また、コマンドが動作するときにそれを知りたい場合があります。テスト環境から運用環境に移行し、新しいスクリプトやコマンドを展開するときには、この機能が特に重要です。

経験豊富な管理者やスクリプト作成者でも、また Exchange とスクリプトを初めて使用する管理者でも、WhatIfConfirm、および ValidateOnly の各パラメータを使用することにはメリットがあります。これらのパラメータは、Exchange 管理シェルで使用できます。これらのパラメータを使用すると、コマンドの実行方法を制御したり、コマンドがデータに影響を与える前にコマンドの動作を正確に指定したりすることができます。WhatIfConfirmValidateOnly の各パラメータは、フィルタを使用して、またはパイプラインで Get コマンドを使用して返されるオブジェクトを変更するコマンドで使用すると、特に役に立ちます。ここでは、各パラメータについて説明します。

important重要 :
WhatIfConfirmValidateOnly パラメータをスクリプト内のコマンドで使用する場合は、スクリプトを呼び出すコマンド ラインではなく、スクリプト内の各コマンドに対して適切なパラメータを追加する必要があります。
note注 :
WhatIfConfirmValidateOnly パラメータは、スイッチ パラメータと呼ばれます。スイッチ パラメータの詳細については、「パラメータ」を参照してください。

WhatIf パラメータ

WhatIf パラメータは、それが適用されるコマンドに対し、コマンドを実行するけれども、コマンドを実行することで影響を受けるオブジェクトと、そのオブジェクトに対して行われる変更の表示だけを行うように指示します。どのオブジェクトも、ドメインによって実際に変更されることはありません。WhatIf パラメータを使用すると、オブジェクトが変更されることを心配することなく、オブジェクトに対して行われる変更が意図したものと一致しているかどうかを確認できます。

WhatIf パラメータを使用してコマンドを実行するときは、次の例で示すように、コマンドの最後で WhatIf パラメータを指定します。

New-AcceptedDomain -Name "Contoso Domain" -DomainName "contoso.com" -WhatIf 

このコマンド例を実行すると、次のようなテキストが Exchange 管理シェルから返されます。

What if: Creating Accepted Domain "Contoso Domain" with Domain Name "contoso.com".

WhatIf パラメータを受け付けるコマンドレットの一覧を表示するには、Exchange 管理シェルで次のコマンドを入力してください。

Get-ExCommand | Where { $_.Definition -Like "*WhatIf*" }

Confirm パラメータ

Confirm パラメータは、それが適用されるコマンドに対し、変更を行う前に処理を停止するよう指示します。その後、コマンドは、処理を続ける前に、各アクションの確認をユーザーに要求します。Confirm パラメータを使用すると、オブジェクトに対する変更を少しずつ進めながら、変更しようとする特定のオブジェクトに対してだけ変更が行われることを確認できます。この機能は、多くのオブジェクトに変更を適用し、Exchange 管理シェルの動作を厳密に制御したい場合に便利です。確認のプロンプトは、Exchange 管理シェルがオブジェクトを変更する前に、オブジェクトごとに表示されます。

既定では、以下の動詞を含むコマンドレットに対しては、Exchange 管理シェルが自動的に Confirm パラメータを適用します。

  • Remove
  • Move
  • Stop
  • Clear
  • Suspend
  • Uninstall
  • Dismount
  • Disable

これらの動詞のいずれかが含まれるコマンドレットが動作すると、Exchange 管理シェルはコマンドを自動的に停止して、ユーザーが確認するのを待ってから処理を続けます。

Confirm パラメータをコマンドに手動で適用するときは、次の例で示すように、コマンドの最後で Confirm パラメータを指定します。

Get-JournalRule | Enable-JournalRule -Confirm

このコマンド例を実行すると、次のような確認プロンプトが Exchange 管理シェルから返されます。

[Y] Yes   [A] Yes to All   [N] No   [L] No to All   [S] Suspend   [?] Help   
(default is "Y"):

確認プロンプトでは以下の選択肢があります。

  • [Y] はい   操作を継続するようコマンドに指示するには、Y を入力します。次の操作に対して、別の確認プロンプトが表示されます。既定値は [Y] Yes です。
  • [A] すべてはい   その操作と以降のすべての操作を継続するようコマンドに指示するには、A を入力します。そのコマンドが動作している間、それ以上確認プロンプトが表示されることはありません。
  • [N] いいえ   その操作をスキップして次の操作を継続するようコマンドに指示するには、N を入力します。次の操作に対して、別の確認プロンプトが表示されます。
  • [L] すべていいえ   その操作と以降のすべての操作をスキップするようコマンドに指示するには、L を入力します。
  • [S] 中断   現在のパイプラインを一時停止してコマンド ラインに戻るには、S を入力します。パイプラインを再開するには、Exit と入力します。
  • [?] ヘルプ   コマンド ラインに確認プロンプトのヘルプを表示するには、? を入力します。

Exchange 管理シェルの既定の動作を変更し、自動的に適用されるコマンドレットに対する確認プロンプトを抑制する場合は、次の例のように、Confirm パラメータと共に値 $False を指定します。

Get-JournalRule | Disable-JournalRule -Confirm:$False

この例では、確認プロンプトは表示されません。

Caution注意 :
Confirm パラメータの既定値は $True です。Exchange 管理シェルの既定の動作では、確認プロンプトが自動的に表示されます。Exchange 管理シェルのこの既定の動作を抑制する場合は、そのコマンドの実行中はすべての確認プロンプトを表示しないようコマンドに指示します。コマンドは、コマンドに対する条件を満たすすべてのオブジェクトを確認なしで処理します。

Confirm パラメータを受け付けるコマンドレットの一覧を表示するには、Exchange 管理シェルで次のコマンドを入力してください。

Get-ExCommand | Where { $_.Definition -Like "*Confirm*" }

ValidateOnly パラメータ

ValidateOnly パラメータは、それが適用されるコマンドに対し、変更を適用する前に、操作を実行するために必要なすべての条件と要件を評価するよう指示します。ValidateOnly パラメータは、実行に時間のかかる場合があるコマンドレット、複数のシステムに対して複数の依存性があるコマンドレット、またはメールボックスのような重要なデータに影響を与えるコマンドレットに対して使用できます。

ValidateOnly パラメータをコマンドに適用すると、コマンドはプロセス全体を実行します。コマンドは、ValidateOnly パラメータが指定されていない場合と同じように各アクションを実行します。ただし、どのオブジェクトも変更しません。コマンドは、処理を完了すると、検証の結果に関する要約を表示します。コマンドが成功したことを検証が示している場合は、ValidateOnly パラメータを外して再びコマンドを実行できます。

ValidateOnly パラメータを使用してコマンドを実行するときは、次の例で示すように、コマンドの最後で ValidateOnly パラメータを指定します。

Get-Mailbox "Kim Akers" | Move-Mailbox -TargetDatabase "Executive Database" -ValidateOnly

このコマンド例を実行すると、次のようなテキストが Exchange 管理シェルから返されます。

Identity                         : contoso.com/Users/Kim Akers
DistinguishedName                : CN=Kim Akers,CN=Users,DC=contoso,DC=com
DisplayName                      : Kim Akers
Alias                            : kim
LegacyExchangeDN                 : /o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=kim
PrimarySmtpAddress               : kim@contoso.com
SourceServer                     : Win2003MS.contoso.com
SourceDatabase                   : WIN2003MS\First Storage Group\Mailbox Database
SourceGlobalCatalog              : Win2003MS.contoso.com
TargetGlobalCatalog              : Win2003MS.contoso.com
TargetDomainController           : Win2003MS.contoso.com
TargetMailbox                    :
TargetServer                     : Win2003MS.contoso.com
TargetDatabase                   : WIN2003MS\Second Storage Group\Executive Database
MailboxSize                      : 0KB
IsResourceMailbox                : False
SIDUsedInMatch                   :
SMTPProxies                      :
SourceManager                    :
SourceDirectReports              :
SourcePublicDelegates            :
SourcePublicDelegatesBL          :
MatchedTargetNTAccountDN         :
IsMatchedNTAccountMailboxEnabled :
MatchedContactsDNList            :
TargetNTAccountDNToCreate        :
TargetManager                    :
TargetDirectReports              :
TargetPublicDelegates            :
TargetPublicDelegatesBL          :
Options                          : Default
SourceForestCredential           :
TargetForestCredential           :
TargetFolder                     :
RsgMailboxGuid                   :
RsgMailboxLegacyExchangeDN       :
RsgMailboxDisplayName            :
RsgDatabaseGuid                  :
MoveType                         : IntraOrg
MoveStage                        : Validation
StartTime                        : 7/17/2006 4:39:13 PM
EndTime                          : 7/17/2006 4:39:14 PM
StatusCode                       : 0
StatusMessage                    : This mailbox can be moved to the target database.

ValidateOnly パラメータを受け付けるコマンドレットの一覧を表示するには、Exchange 管理シェルで次のコマンドを入力してください。

Get-ExCommand | Where { $_.Definition -Like "*ValidateOnly*" }

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