Skip to content


Category: SCDPM

I was trying to install the DPM agents from System Center Data Protection Manger 2012 to Windows Servers and got the above error message.

I could fix this error by installing manually by following the steps,

  • Shared the path, C:\Program Files\Microsoft System Center 2012\DPM\DPM\Protection\RA\4.0.xxxx and made to access from \\dpm-server\DPMAgent$\
  • Installed the agents manually from command prompt
    • Copied to the local disk from the above path to the servers.
    • Opened Command Prompt (I used run as Administrator), install the agent manually by running as below c:\Downloads\amd64\DPMAgenInstaller_x64 dpm-server.domain.local  ; where dpm-server.domain.local is my DPM server.
  • Added the servers to take the backup from DPM Management Console.

If you are still experiencing the problem, I found in a forum mentioned to add the DPM Server to your Domain Admins Group to allow the DPM Server to have the communication properly.  Once I added that the agent started working fine after refreshing in the DPM Management Console.

Are you getting the error like this in System Center Date Protection Manager 2012:

The selected tapes cannot be marked as free because they belong to protection groups.
You need to stop protection of the associated protection groups before you can mark the tapes as free. The protection group that a tape belongs to is listed in the Protection Group column. (ID: 31116)

You can still force DPM to mark the tape as free by removing the recovery points. Use the following script in the DPM Powershell. In this case you are forcing and deleting all recovery points,

1. Open notepad, and copy/paste the give lines,

2. Do the changes as per your server name ($dpmserver) and tape barcode ($barcode)

3. Open DPM PowerShell and run the entries, it will do the job. Now you can run the inventory and do the tape as free.

$barcode = “000xxxx”
$dpmserver = “DPMSERVER”
$DPMLib = Get-DPMLibrary -DPMServerName $dpmserver
$tape = Get-Tape -DPMLibrary $DPMLib | Where-Object {$_.Barcode.Value -eq $barcode}
foreach ($RecoveryPoint in @(Get-RecoveryPoint -Tape $tape))
    Remove-RecoveryPoint -RecoveryPoint $RecoveryPoint -ForceDeletion -Confirm:$false

Note:  #type the barcode of the tape that shall be marked as free other wise you can leave as blank,

$barcode = ” ”