The following sample script will create a simple full server protection 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 full server protection job
# Specify the variables to be used in the script
# Source server and credentials $DtSourceName = "alpha" $DtSourceUserName = "domain\administrator" $DtSourcePassword = "password"
# Repository server and credentials $DtRepositoryName = "beta" $DtRepositoryUserName = "domain\administrator" $DtRepositoryPassword = "password"
# Type of workload you will be protecting and type of job you will be creating $DtWorkloadType = "FullServerImageProtection" $DtJobType = "FullServerImageProtection"
# Name and location of the image file on the target $DtRepositoryPath = "C:\Server Images\ImageId\Volume.vhd"
# 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 $DtSourceName -UserName $DtSourceUserName -Password $DtSourcePassword $DtRepository = New-DtServer -Name $DtRepositoryName -UserName $DtRepositoryUserName -Password $DtRepositoryPassword
# Create a workload $DtWorkloadGUID = New-DtWorkload -ServiceHost $DtSource -WorkloadTypeName $DtWorkloadType
# Determine what you want to protect # Get the logical items associated with the workload $DtLogicalItems = Get-DtLogicalItem -ServiceHost $DtSource -WorkloadId $DtWorkloadGUID # Add each logical item available on the server, for example, each volume on the server $DtProtectionItem = @() foreach ($item in $DtLogicalItems) { $DtProtectionItem += Set-DtLogicalItemSelection -ServiceHost $DtSource -WorkloadId $DtWorkloadGuid -LogicalPath $item.Path } # Get the workload definition including the workload and logical items $DtWorkload = Get-DtWorkload -ServiceHost $DtSource -WorkloadId $DtWorkloadGUID
# Get the default job options that will be used to create the job $DtJobOptions = Get-DtRecommendedJobOptions -ServiceHost $DtRepository -Source $DtSource -JobType $DtJobType -Workload $DtWorkload
# Specify the name and location of the image file $DtJobOptions.JobOptions.ImageProtectionOptions.VhdInfo[0].FilePath = $DtRepositoryPath
# If this image file already exists, you must uncomment the following line to reuse an existing disk # $DtJobOptions.JobOptions.ImageProtectionOptions.VhdInfo[0].UseExistingVhd = $true
# Create the job $DtJobGuidForFullServerProtection = New-DtJob -ServiceHost $DtRepository -Source $DtSource -JobType $DtJobType -JobOptions $DtJobOptions.JobOptions
# Start the job Start-DtJob -ServiceHost $DtRepository -JobId $DtJobGuidForFullServerProtection
# Close the connections for the server objects Disconnect-DtServer -ServiceHost $DtSource Disconnect-DtServer -ServiceHost $DtRepository |
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.