Exclude DPM from auto deployment

Microsoft.Windows.SystemCenterDPM2010.ClientAutoDeployment.ExcludeDPM (Task)

Element properties:

TargetMicrosoft.Windows.SystemCenterDPM2010.ClientAutoDeployment.DPMServer
AccessibilityInternal
CategoryCustom
EnabledTrue
RemotableFalse
Timeout600

Member Modules:

ID Module Type TypeId RunAs 
ExcludeDPM WriteAction Microsoft.Windows.PowerShellWriteAction Default

Source Code:

<Task ID="Microsoft.Windows.SystemCenterDPM2010.ClientAutoDeployment.ExcludeDPM" Accessibility="Internal" Enabled="true" Target="Microsoft.Windows.SystemCenterDPM2010.ClientAutoDeployment.DPMServer" Timeout="600" Remotable="true">
<Category>Custom</Category>
<WriteAction ID="ExcludeDPM" TypeID="Windows!Microsoft.Windows.PowerShellWriteAction">
<ScriptName>ExcludeDPM.ps1</ScriptName>
<ScriptBody><Script>param($dpmServerName)

$installPath = Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Setup" | ForEach-Object {Get-ItemProperty $_.InstallPath}
$dpmInitScriptPath = $installPath.FullName + "bin\dpmcliinitscript.ps1"

# Load DPM snapin
$dpmBinPath = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Setup" "UIInstallPath").UIInstallPath
. "$dpmBinPath\GlobalFunctions.ps1"
LoadDPMSnapin

#Connect to DPM server
$dpmServer = Connect-DPMServer $dpmServerName
if (!$dpmServer)
{
Write-Error "Unable to connect to $dpmServerName"
exit 1
}

#Set DPM auto deployment include property to true
Set-DpmGlobalProperty &#x2013;DPMServerName $dpmServerName -ConsiderForAutoDeployment $false

#Write-Host "Successfully excluded DPM: $dpmServerName for auto deployment"

Remove-ItemProperty "HKLM:\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Configuration\Client" -Name StopProtectStaleClients -Confirm:$false -ErrorAction SilentlyContinue

Disconnect-DPMServer $dpmServerName</Script></ScriptBody>
<Parameters>
<Parameter>
<Name>DPMServerName</Name>
<Value>$Target/Property[Type="Microsoft.Windows.SystemCenterDPM2010.ClientAutoDeployment.DPMServer"]/DPMServerName$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>600</TimeoutSeconds>
</WriteAction>
</Task>