How to Configure System Center Data Protection Manager Agent on Windows Server 2012 R2

System Center Data Protection Manager (DPM) is Microsoft’s enterprise backup and recovery solution that provides continuous data protection for Windows servers, Hyper-V VMs, SQL Server, Exchange, SharePoint, and file servers. The DPM protection agent installed on each protected server enables near-real-time backup using Volume Shadow Copy Service (VSS) technology and Change Journal tracking, writing incremental data to the DPM server’s disk storage pool with disk-to-tape tiering.

For Windows Server 2012 R2 environments using DPM 2012 R2 or later for backup, deploying the protection agent on each managed server is the critical first step before adding data sources to protection groups. This guide covers agent installation from the DPM console, manual installation procedures, agent configuration, verification of backup operations, and common troubleshooting steps.

Prerequisites

– System Center DPM 2012 R2 or later with at least one DPM Server
– Windows Server 2012 R2 as the protected server
– Administrative credentials on the protected server
– Network connectivity from the protected server to the DPM server on TCP ports 135, 445, 5718, 5719, and dynamic RPC ports
– Windows Firewall exceptions for DPM communication
– Single Instancing feature available for deduplication (optional)
– Sufficient disk space for VSS shadow copies

Step 1: Prepare the Server for DPM Agent

# Enable required services
Set-Service RemoteRegistry -StartupType Automatic
Start-Service RemoteRegistry

# Enable File and Printer Sharing
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=yes

# Enable DCOM traffic (required for DPM)
netsh advfirewall firewall set rule group="COM+ Network Access (DCOM-In)" new enable=yes

# Open DPM-specific ports
New-NetFirewallRule -DisplayName "DPM Agent Port 5718" -Direction Inbound -Protocol TCP -LocalPort 5718 -Action Allow
New-NetFirewallRule -DisplayName "DPM Agent Port 5719" -Direction Inbound -Protocol TCP -LocalPort 5719 -Action Allow

# Verify VSS service is running
Get-Service VSS | Select-Object Name, Status
Get-Service VDS | Select-Object Name, Status

# Check volume shadow copy status
vssadmin list writers | Select-String "State" | Select-Object -First 10

Step 2: Install DPM Protection Agent from DPM Console

The easiest method is to install the agent directly from the DPM Administrator Console:

1. Open the DPM Administrator Console on the DPM Server
2. Navigate to Management tab > Agents
3. In the Action pane, click Install to launch the Protection Agent Installation Wizard
4. On the Select Agent Deployment Method page, select “Install agents”
5. On the Select Computers page, enter the Windows Server 2012 R2 server name
6. Provide the credentials for an account with local administrator rights on the target
7. Click Install and wait for the wizard to complete

The DPM console performs push installation and will show progress. After completion, the agent appears in the Agents list with status “OK.”

Step 3: Manual DPM Agent Installation

For servers inaccessible for push installation:

# Copy agent installer from DPM server
# DPM agent location on DPM server:
# C:Program FilesMicrosoft System Center 2012 R2DPMDPMProtectionAgentsRA[version]amd64

# Copy the DPMAgentInstaller_KB[version]_amd64.exe to the target server
Copy-Item "\DPMServer01C$Program FilesMicrosoft System Center 2012 R2DPMDPMProtectionAgentsRA4.2.1197.0amd64DPMAgentInstaller_KB2891996_amd64.exe" `
    "C:TempDPMAgentInstaller.exe"

# Install the agent silently
Start-Process "C:TempDPMAgentInstaller.exe" -ArgumentList "/q" -Wait

# Verify installation
Get-Service DPMRA | Select-Object Name, Status, StartType

After manual installation, attach the agent to the DPM server using the SetDPMServer command:

# Attach the installed agent to the DPM server
# Run on the PROTECTED SERVER (not the DPM server)
& "C:Program FilesMicrosoft Data Protection ManagerDPMbinSetDpmServer.exe" `
    -DPMServerName "DPMServer01.domain.com"

# Verify the attachment
& "C:Program FilesMicrosoft Data Protection ManagerDPMbinSetDpmServer.exe" -Help

Step 4: Verify Agent Status and Communication

# Check DPM Remote Agent service on protected server
Get-Service DPMRA | Select-Object Name, Status, StartType

# Check DPM agent event log
Get-WinEvent -LogName "DPM Remote Agent" -MaxEvents 20 -ErrorAction SilentlyContinue |
    Select-Object TimeCreated, Id, LevelDisplayName, Message | Format-List

# From DPM Server, verify agent connectivity using DPM PowerShell
Import-Module DataProtectionManager

# Get all protected servers
Get-DPMProductionServer -DPMServerName "DPMServer01" | 
    Select-Object ServerName, AgentVersion, AgentStatus, PSComputerName

Step 5: Create a Protection Group for the Server

After the agent is installed and reporting, create a protection group in DPM to define what data is protected and the backup schedule:

Import-Module DataProtectionManager

# Connect to DPM server
$dpmServer = Connect-DPMServer "DPMServer01"

# Create a new protection group
$protectionGroup = New-DPMProtectionGroup -DPMServerName "DPMServer01" -Name "WS2012R2-Servers"

# Get the production server
$prodServer = Get-DPMProductionServer -DPMServerName "DPMServer01" | 
    Where-Object ServerName -eq "WS2012R2Server01.domain.com"

# Get available data sources (volumes, SQL, Exchange, etc.)
$dataSources = Get-DPMDatasource -ProductionServer $prodServer -Inquire

# View available data sources
$dataSources | Select-Object Name, Type, LogicalPath

# Add data sources to the protection group
Add-DPMChildDatasource -ProtectionGroup $protectionGroup -ChildDatasource ($dataSources | Where-Object LogicalPath -eq "C:")

# Set short-term (disk) protection policy
Set-DPMProtectionType -ProtectionGroup $protectionGroup -ShortTerm Disk

# Configure retention range (days)
Set-DPMPolicyObjective -ProtectionGroup $protectionGroup -RetentionRangeInDays 10 -Frequency (New-TimeSpan -Hours 4)

Step 6: Configure Backup Schedules

# Set synchronization schedule (how often changes are copied to DPM)
$schedule = New-DPMPolicySchedule -ProtectionGroup $protectionGroup -ShortTerm -HourlyFrequency 4 -DayTimesOfDayFrequency @(0,6,12,18)

# Set express full backup schedule (weekly full backup to disk)
$expressSchedule = New-DPMPolicySchedule -ProtectionGroup $protectionGroup -ShortTermFull -DaysOfWeek Sunday -TimesOfDay 01:00

# Apply the schedule
Set-DPMPolicySchedule -ProtectionGroup $protectionGroup -Schedule $schedule

# Allocate disk space on DPM storage pool
$diskAllocation = Get-DPMDatasource -ProtectionGroup $protectionGroup
Set-DPMDatasourceDiskAllocation -Datasource $diskAllocation[0] -ProtectionGroup $protectionGroup -Automatic

# Commit the protection group
Set-DPMProtectionGroup $protectionGroup

Step 7: Trigger and Monitor Backup Jobs

# Trigger an immediate synchronization (incremental backup)
$datasources = Get-DPMDatasource -DPMServerName "DPMServer01" | 
    Where-Object { $_.ProductionServerName -eq "WS2012R2Server01" }

$job = Start-DPMJob -DatasourceList $datasources -JobType Synchronize
Wait-DPMJob -Job $job -Verbose

# Trigger a full consistency check
$fullJob = Start-DPMJob -DatasourceList $datasources -JobType ConsistencyCheck
Wait-DPMJob -Job $fullJob

# Get backup job history
Get-DPMJob -DPMServerName "DPMServer01" |
    Where-Object { $_.ProductionServerName -eq "WS2012R2Server01" } |
    Sort-Object StartTime -Descending | Select-Object -First 10 |
    Select-Object StartTime, EndTime, Status, JobType

Step 8: Verify Recovery Points

# List all recovery points for a data source
$datasource = Get-DPMDatasource -DPMServerName "DPMServer01" |
    Where-Object { $_.ProductionServerName -eq "WS2012R2Server01" } |
    Select-Object -First 1

$recoveryPoints = Get-DPMRecoveryPoint -Datasource $datasource
$recoveryPoints | Select-Object RepresentedPointInTime, BackupTime, ComponentName |
    Sort-Object RepresentedPointInTime -Descending | Select-Object -First 20

Step 9: Test Recovery (File-Level)

# Recover a specific file to an alternate location
$latestRP = Get-DPMRecoveryPoint -Datasource $datasource | 
    Sort-Object RepresentedPointInTime -Descending | Select-Object -First 1

# Browse the recovery point
$recoverableItem = Get-DPMRecoverableItem -RecoverableItem $latestRP -SearchType File -Filter "*.log"

# Recover to original location
$recoveryOption = New-DPMRecoveryOption -HyperVDatasource -TargetServer "WS2012R2Server01" -RecoveryLocation OriginalServer

Restore-DPMRecoverableItem -RecoverableItem $recoverableItem -RecoveryOption $recoveryOption

Step 10: Maintain and Update the Agent

# Check agent version from DPM console
Get-DPMProductionServer -DPMServerName "DPMServer01" | 
    Select-Object ServerName, AgentVersion | Sort-Object ServerName

# Update agent from DPM console:
# Management > Agents > select server > Update in Action pane

# Restart DPM agent if experiencing communication issues
Restart-Service DPMRA -Force

# Check DPM firewall configuration
netsh advfirewall firewall show rule name="Microsoft System Center 2012 Data Protection Manager*"

# Re-run firewall configuration tool if needed
& "C:Program FilesMicrosoft Data Protection ManagerDPMbinConfigureFirewall.exe" `
    -EnableFirewall -DPMServerName "DPMServer01"

Summary

The DPM protection agent on Windows Server 2012 R2 provides enterprise-grade backup capabilities through VSS-based incremental protection with configurable recovery point schedules. The combination of push installation from the DPM console for connected domain servers and manual SetDpmServer-based attachment for restricted environments ensures broad deployment coverage. Once the agent is operational and data sources are added to protection groups, DPM delivers granular, point-in-time recovery capabilities for files, volumes, SQL databases, and application data — making it a critical component of any enterprise recovery strategy built around System Center.