WhatIf, Confirm 및 ValidateOnly 매개 변수

 

적용 대상: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

마지막으로 수정된 항목: 2007-06-19

Exchange 관리 셸은 매우 강력하고 유연한 관리 인터페이스입니다. 사용자는 명령줄을 사용하여 대화형으로 인프라를 관리할 수 있습니다. 또한 자주 사용하거나 복잡한 작업을 자동화하는 스크립트를 만들고 실행할 수도 있습니다. Exchange 관리 셸, 스크립팅 또는 둘 다를 사용하는 방법에 대해 배울 때처럼 명령이 데이터에 영향을 미치기 전에 해당 명령의 결과를 보려고 할 수 있습니다. 또한 명령이 실행되려는 것을 확인하고자 할 수 있습니다. 이 기능은 테스트 환경에서 프로덕션 환경으로 전환할 때 및 새 스크립트나 명령을 롤아웃할 때 특히 중요합니다.

숙련된 관리자와 스크립트 작성자 그리고 Exchange와 스크립팅에 대해 초보인 관리자 모두 WhatIf, ConfirmValidateOnly 매개 변수를 사용하면 이익을 얻을 수 있습니다. 이러한 매개 변수는 Exchange 관리 셸에서 사용할 수 있습니다. 이러한 매개 변수를 사용하면 명령이 실행되는 방법을 제어하고 명령이 데이터에 영향을 미치기 전에 정확히 무엇을 수행하는지 표시할 수 있습니다. WhatIf, ConfirmValidateOnly 매개 변수는 파이프라인의 Get 명령 또는 필터를 사용하여 반환되는 개체를 수정하는 명령과 함께 사용될 때 특히 유용합니다. 이 항목에서는 각 매개 변수에 대해 설명합니다.

중요

스크립트에서 명령과 함께 WhatIf, ConfirmValidateOnly 매개 변수를 사용하려는 경우 스크립트를 호출하는 명령줄이 아니라 스크립트에서 각 명령에 적합한 매개 변수를 추가해야 합니다.

참고

WhatIf, ConfirmValidateOnly 매개 변수는 스위치 매개 변수라고 합니다. 스위치 매개 변수에 대한 자세한 내용은 매개 변수를 참조하십시오.

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 매개 변수를 허용하는 cmdlet 목록을 표시하려면 Exchange 관리 셸에 다음 명령을 입력합니다.

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

Confirm 매개 변수

Confirm 매개 변수는 변경 내용을 적용하기 전에 처리를 중지하도록 명령에 지시합니다. 그러면 해당 명령은 계속하기 전에 각 동작에 대한 확인 메시지를 표시합니다. Confirm 매개 변수를 사용하면 변경 내용을 개체에 단계별로 적용하여 변경하려는 특정 개체에만 변경 내용이 적용되도록 할 수 있습니다. 이러한 기능은 많은 개체에 변경 내용을 적용할 경우와 Exchange 관리 셸 작업 전체를 정확하게 제어하려는 경우에 유용합니다. Exchange 관리 셸이 개체를 수정하기 전에 확인 메시지가 각 개체에 대해 표시됩니다.

기본적으로 Exchange 관리 셸은 다음 동사가 있는 cmdlet에 Confirm 매개 변수를 자동으로 적용합니다.

  • Remove

  • Move

  • Stop

  • Clear

  • Suspend

  • Uninstall

  • Dismount

  • Disable

이러한 동사가 있는 cmdlet가 실행되면 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] Yes   작업을 계속 수행하도록 명령에 지시하려면 Y를 입력합니다. 다음 작업에서 확인 메시지가 다시 표시됩니다. 기본값은 [Y] Yes입니다.

  • [A] Yes to All   이 작업과 모든 후속 작업을 계속 수행하도록 명령에 지시하려면 A를 입력합니다. 이 명령을 수행하는 동안에는 추가 확인 메시지가 나타나지 않습니다.

  • [N] No   이 작업을 건너뛰고 다음 작업을 계속 수행하도록 명령에 지시하려면 N을 입력합니다. 다음 작업에서 확인 메시지가 다시 표시됩니다.

  • [L] No to All   이 작업과 모든 후속 작업을 건너뛰도록 명령에 지시하려면 L를 입력합니다.

  • [S] Suspend   현재 파이프라인을 일시 중지하고 명령줄로 돌아가려면 S를 입력합니다. 파이프라인을 다시 시작하려면 Exit를 입력합니다.

  • [?] Help   명령줄에 확인 메시지 도움말을 표시하려면 **?**를 입력합니다.

Exchange 관리 셸의 기본 동작을 무시하고 자동으로 적용되는 cmdlet에 대한 확인 메시지를 표시하지 않으려면 다음 예에서와 같이 $False 값을 가진 Confirm 매개 변수를 포함시킵니다.

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

이 경우 확인 메시지가 표시되지 않습니다.

경고

Confirm 매개 변수의 기본값은 $True입니다. Exchange 관리 셸의 기본 동작은 확인 메시지를 자동으로 표시하는 것입니다. 이러한 Exchange 관리 셸의 기본 동작을 억제하는 경우 해당 명령을 수행하는 동안 모든 확인 메시지를 표시하지 않도록 명령에 지시합니다. 명령이 확인 없이 명령에 대한 조건을 충족하는 모든 개체를 처리합니다.

Confirm 매개 변수를 허용하는 cmdlet 목록을 표시하려면 Exchange 관리 셸에 다음 명령을 입력합니다.

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

ValidateOnly 매개 변수

ValidateOnly 매개 변수는 변경 내용을 적용하기 전에 작업을 수행하는 데 필요한 모든 조건과 요구 사항을 평가하도록 명령에 지시합니다. ValidateOnly 매개 변수는 사서함과 같이 실행하는 데 오랜 시간이 걸리거나 여러 시스템에서 여러 종속성을 가지거나 중요 데이터에 영향을 미칠 수 있는 cmdlet에서 사용할 수 있습니다.

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 매개 변수를 허용하는 cmdlet 목록을 표시하려면 Exchange 관리 셸에 다음 명령을 입력합니다.

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