# building path to Agent's Common.Contracts.dll and loading this assembly$regLM = [Microsoft.Win32.Registry]::LocalMachine$regLM = $regLM.OpenSubKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AppRecovery Agent 5')$regVal = $regLM.GetValue('InstallLocation')$regVal = $regVal + 'Common.Contracts.dll'[System.Reflection.Assembly]::LoadFrom($regVal) | out-null# Converting input parameter into specific object$TransferPostscriptParameterObject = $TransferPostscriptParameter -as[Replay.Common.Contracts.PowerShellExecution.TransferPostscriptParameter];# Working with input object. All echo's are loggedif($TransferPostscriptParameterObject -eq $null) {echo 'TransferPostscriptParameterObject parameter is null'}else {echo 'VolumeNames:' $TransferPostscriptParameterObject.VolumeNamesecho 'ShadowCopyType:'$TransferPostscriptParameterObject.ShadowCopyTypeecho 'ForceBaseImage:'$TransferPostscriptParameterObject.ForceBaseImage echo'IsLogTruncation:' $TransferPostscriptParameterObject.IsLogTruncation}Preexportscript.ps1The PreExportScript is executed on the Core side prior to any export job.# receiving parameter from export jobparam([object]$ExportJobRequest)# building path to Core's Common.Contracts.dll and loading this assembly$regLM = [Microsoft.Win32.Registry]::LocalMachine$regLM =$regLM.OpenSubKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AppRecovery Core 5')$regVal = $regLM.GetValue('InstallLocation')$regVal = $regVal + 'CoreService\Common.Contracts.dll'[System.Reflection.Assembly]::LoadFrom($regVal) | out-null# Converting input parameter into specific object$ExportJobRequestObject = $ExportJobRequest -as[Replay.Core.Contracts.Export.ExportJobRequest]# Working with input object. All echo's are loggedif($ExportJobRequestObject -eq $null) {echo 'ExportJobRequestObject parameter is null'}else {echo 'Location:' $ExportJobRequestObject.Locationecho 'Priority:' $ExportJobRequestObject.StorageConfiguration}169