You are here: Scripting examples > Sample job creation scripts > Creating an Exchange job

Creating an Exchange job

The following sample script will create a simple Exchange job. You will need to modify this script to fit your environment and configuration.

Be sure and expand your screen wide enough so that lines in the script file do not wrap.

 

# Sample script to create a simple Double-Take Exchange job

 

# Import the Double-Take PowerShell module

# This may be \Service\ or \Console\ depending on your installation

import-module "C:\Program Files\Vision Solutions\Double-Take\Console\DoubleTake.PowerShell.dll"

 

# Create source and target objects

$DtSource = New-DtServer -Name alpha -UserName domain\administrator -Password password

$DtTarget = New-DtServer -Name beta -UserName domain\administrator -Password password

 

# Set Exchange and domain credentials

$DtExchangeCredentials = New-Object DoubleTake.Common.Contract.Credentials $(Get-Credential domain\administrator)

$DtDomainCredentials = New-Object DoubleTake.Common.Contract.Credentials $(Get-Credential domain\administrator)

 

# Create a workload

$DtWorkloadGUID = New-DtWorkload -ServiceHost $DtSource -WorkloadTypeName "Exchange"

 

# Add what you want to protect to the workload

$DtLogicalItem = Get-DtLogicalItem -ServiceHost $DtSource -WorkloadId $DtWorkloadGUID | Select-Object -First 1

$DtProtectionItems = Set-DtLogicalItemSelection -ServiceHost $DtSource -WorkloadId $DtWorkloadGuid -LogicalPath $DtLogicalItem.Path

$DtWorkload = Get-DtWorkload -ServiceHost $DtSource -WorkloadId $DtWorkloadGUID

 

# Get the job options that will be used to create the job

$DtJobOptions = Get-DtRecommendedJobOptions -ServiceHost $DtTarget -Source $DtSource -JobType "Exchange" -Workload $DtWorkload

 

# Specify the Exchange and domain credentials in the job options

$DtJobOptions.JobOptions.ApplicationOptions.ExchangeCredentials = $DtExchangeCredentials

$DtJobOptions.JobOptions.DnsOptions.Domains[0].Credentials = $DtDomainCredentials

 

# Create the job

$DtJobGuidForExchange = New-DtJob -ServiceHost $DtTarget -Source $DtSource -JobType "Exchange" -JobOptions $DtJobOptions.JobOptions

 

# Start the job

Start-DtJob -ServiceHost $DtTarget -JobId $DtJobGuidForExchange

 

# Close the connections for the server objects

Disconnect-DtServer -ServiceHost $DtSource

Disconnect-DtServer -ServiceHost $DtTarget

If you want to hide your user credentials in your script, use the Windows PowerShell Get-Credential cmdlet. The password will not be visible because Windows stores an encrypted password. See Hiding your password in a PowerShell script for basic details on using this cmdlet. See your Windows PowerShell documentation for detailed instructions.