PS scripting ; whatif , confirm ve validateonly anahtarları
Merhaba ,
Bu anahtarlar ; bize komutun yani script’in nasıl çalışacağını , komutun çalıştıktan sonra ilgili veriyi nasıl etkileyeceğini, nasıl bir objenin üretileceğini kısacası script’in çalışmadan önce “çalıştığında ortaya çıkaracağı etkilerini” ve çalışma sürecini kontrol etmemizi sağlar.
Get komutu ile yada bir filter ile çağırdığımız data’ların başka bir komut ile işlenmesi sırasında doğrulama gibi işlemler çokça kullanılabilir. Aşağıdaki gibi örneklendirebiliriz.
Whatif
New-AcceptedDomain -Name “Contoso Domain” -DomainName “contoso.com” –WhatIf
Komutu çalıştırılırsa ; aşağıdaki text ile output alırız.
What if: Creating Accepted Domain “Contoso Domain” with domain name “contoso.com”.
Dolayısıyla komutu çalıştırdığımızdan ne olacağını kestirebiliriz. Dolayısıyla çalıştırmaktan vazgeçebilirsiniz.
Confirm:
Bu anahtar kullanıldığında ( komut dizilimin uygun yerinde ) , process durur ve sizden bir doğrulama ister.
Get-JournalRule | Enable-JournalRule –Confirmkomutunun çıktısı aşağıdaki gibidir.
Confirm
Are you sure you want to perform this action?
Enabling journal rule “Litigation Journal Rule”.
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help
(default is “Y”):
Eğer shell’in doğrulamayı otomatik olarak yapmasını isterseniz confirm anahtarını $false değeri ile kullanabilirsiniz. Varsayılan $trues değeridir. Yani shell sizden onay bekler.
Validateonly
Kritik bir komut çalıştırmak istediğinizde , gereksinimleri olabilecek bir komut çalıştırmak istediğiniz ve benzeri durumlarda komutun çalışması için ortamın durumunu doğrular ve komutun çalışmaya uygunluğunu denetler.
Get-Mailbox “Kim Akers” | Move-Mailbox -TargetDatabase “Executive Database” –ValidateOnly
Komutun çıktısı aşağıdaki gibidir.
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 Administra
tive Group (FYDIBOHF23SPDLT)/cn=Recipients/c
n=Kim Akers
PrimarySmtpAddress : [email protected]
SourceServer : MBX.contoso.com
SourceDatabase : Mailbox Database 0896551697
SourceGlobalCatalog : MBX
SourceDomainController : MBX.contoso.com
TargetGlobalCatalog : MBX
TargetDomainController : MBX.contoso.com
TargetMailbox :
TargetServer : MBX.contoso.com
TargetDatabase : Executive Database
MailboxSize : 0 B (0 bytes)
IsResourceMailbox : False
SIDUsedInMatch :
SMTPProxies :
SourceManager :
SourceDirectReports :
SourcePublicDelegates :
SourcePublicDelegatesBL :
SourceAltRecipient :
SourceAltRecipientBL :
SourceDeliverAndRedirect :
MatchedTargetNTAccountDN :
IsMatchedNTAccountMailboxEnabled :
MatchedContactsDNList :
TargetNTAccountDNToCreate :
TargetManager :
TargetDirectReports :
TargetPublicDelegates :
TargetPublicDelegatesBL :
TargetAltRecipient :
TargetAltRecipientBL :
TargetDeliverAndRedirect :
Options : Default
SourceForestCredential :
TargetForestCredential :
TargetFolder :
PSTFilePath :
RecoveryMailboxGuid :
RecoveryMailboxLegacyExchangeDN :
RecoveryMailboxDisplayName :
RecoveryDatabaseGuid :
StandardMessagesDeleted : 0
AssociatedMessagesDeleted : 0
DumpsterMessagesDeleted : 0
MoveType : IntraOrg
MoveStage : Validation
StartTime : 2/10/2009 12:20:04 PM
EndTime : 2/10/2009 12:20:04 PM
StatusCode : 0
StatusMessage : This mailbox can be moved to the target data
base.
ReportFile : C:\Program Files\Microsoft\Exchange Server\V
14\Logging\MigrationLogs\move-Mailbox2009021
0-122003-8563750.xml
Bu sonuçtan anlayabilirizki komutu düzgünce çalıştırabiliyoruz.