Users Guide

Core 5')
$regVal = $regLM.GetValue('InstallLocation')
$regVal = $regVal + 'CoreService\Common.Contracts.dll'
[System.Reflection.Assembly]::LoadFrom($regVal) | out-null
$regVal2 = $regLM.GetValue('InstallLocation')
$regVal2= $regVal2 + 'CoreService\Core.Contracts.dll'
[System.Reflection.Assembly]::LoadFrom($regVal2) | out-null
# Nightlyjob has four child jobs: NightlyAttachability Job, Rollup Job, Checksum Check Job
and Log Truncation Job. All of them are triggering the script, and $JobClassMethod (contain
job name that calls the script) helps to handle those child jobs separately
switch ($JobClassMethod) {
# working with NightlyAttachability Job
NightlyAttachabilityJob {
$NightlyAttachabilityJobRequestObject = $NightlyAttachabilityJobRequest -as
[Replay.Core.Contracts.Sql.NightlyAttachabilityJobRequest];
echo 'Nightly Attachability job results:';
if($NightlyAttachabilityJobRequestObject -eq $null) {
echo 'NightlyAttachabilityJobRequestObject parameter is null';
}
else {
echo 'AgentIds:' $NightlyAttachabilityJobRequestObject.AgentIds;
echo 'IsNightlyJob:' $NightlyAttachabilityJobRequestObject.IsNightlyJob;
}
break;
}
# working with Rollup Job
RollupJob {
$RollupJobRequestObject = $RollupJobRequest -as
[Replay.Core.Contracts.Rollup.RollupJobRequest];
echo 'Rollup job results:';
if($RollupJobRequestObject -eq $null) {
echo 'RollupJobRequestObject parameter is null';
}
else {
echo 'AgentIds:' $RollupJobRequestObject.AgentIds;
echo 'IsNightlyJob:' $RollupJobRequestObject.IsNightlyJob;
}
$AgentsCollection = $Agents -as "System.Collections.Generic.List``1[System.Guid]"
if($AgentsCollection -eq $null) {
echo 'AgentsCollection parameter is null';
}
else {
echo 'Agents GUIDs:'
foreach ($a in $AgentsCollection) {
echo $a
}
}
break;
}
# working with Checksum Check Job
ChecksumCheckJob {
$ChecksumCheckJobRequestObject = $ChecksumCheckJobRequest -as
[Replay.Core.Contracts.Exchange.ChecksumChecks.ChecksumCheckJobRequest];
echo 'Exchange checksumcheck job results:';
if($ChecksumCheckJobRequestObject -eq $null) {
echo 'ChecksumCheckJobRequestObject parameter is null';
}
else {
echo 'RecoveryPointId:' $ChecksumCheckJobRequestObject.RecoveryPointId;
echo 'AgentIds:' $ChecksumCheckJobRequestObject.AgentIds;
echo 'IsNightlyJob:' $ChecksumCheckJobRequestObject.IsNightlyJob;
}
break;
}
# working with Log Truncation Job
TransferJob {
$TransferJobRequestObject = $TransferJobRequest -as
[Replay.Core.Contracts.Transfer.TransferJobRequest];
echo 'Transfer job results:';
if($TransferJobRequestObject -eq $null) {
echo 'TransferJobRequestObject parameter is null';
}
else {
406 使用脚本扩展 Rapid Recovery 作业