IT & IoT Security | Cloud | It's all about the life itself

Nothing in life is as important as you think it is, while you are thinking about it.

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.