Unable to install DPM 2012 SP1 Agent

I was trying to install DPM 2012 SP1 agent using push method from DPM server and installation job was failing with following error on DPM server:

Agent operation failed. (ID 370)
An error occurred when the agent operation attempted to create the DPM Agent Coordinator service on protected server. (ID 347 Details: The service did not respond to the start or control request in a timely fashion)

On protected server two sidebyside events with event ID 33 were logged in Application Log:

Activation context generation failed for "d:\fbe53baf0ccc85b5405e430f\1033\SetupLaunchScreen.DLL". Dependent Assembly Microsoft.VC90.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" could not be found. Please use sxstrace.exe for detailed diagnosis.

Activation context generation failed for "d:\fbe53baf0ccc85b5405e430f\1033\SetupLaunchScreen.DLL". Dependent Assembly Microsoft.VC90.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" could not be found. Please use sxstrace.exe for detailed diagnosis.
 
Manual installation of DPM agent is failing with following error message and same two SidebySide events were logged on protected server's application event log:

 


To resolve this behavior, first I've installed Microsoft Visual C++ 2008 Redistributable Package on protected server and then re-run the setup for DPM 2012 sp1 agent. After installing the Visual C++ 2008 redistributable package, DPM 2012 SP1 agent has installed successfully.

DPM 2012 SP1 Scheduled jobs disapear without starting

In this case DPM Server 2012 SP1 installed on Windows server 2012 with remote database on SQL Server 2012 SP1 installed on Windows Server 2012, scheduled jobs for protection groups were disappearing without starting job. Dedicated instance of SQL Server was installed just for DPM 2012 as required. This instance of SQL Server was prepared using DPM Remote SQL Prep. Setup of DPM 2012 SP1 has finished successfully without any issues.
Manually triggering backup was successfully finishing, but scheduled jobs were just disappearing without starting the task.
Following event 208 is logged in application log on SQL Server from source SQLAgent$InstanceName :
The job failed. The Job was invoked by Schedule 13 (Schedule 1). The last step to run was step 1 (Default JobStep).

From Job Activity Monitor can be seen that non-sysadmins have been denied permission to run CmdExec job step:

 
 
SQLAgent for DPM instance was running under Local System account, so adding the sysadmin role to the Local System account has solved the problem.

SCCM provider is missing read, write, or delete privilege

During migration of SCCM 2007 to SCCM 2012 SP1, I have created migration job to migrate driver packages from the old to new SCCM organization. Migration job was failing with following error for each driver package :
SCCM Provider is missing read, write, or delete privilege .

Checking the NTFS/Share permissions for source path of the driver package, the SCCM 2012 computer account was having delegated Modify permission, but the driver package migration was failing with same error that SCCM Provider is missing read, write or delete privilege. After granting Full Control permission, migration job has finished successfully.
There is published KB from Microsoft regarding this issue http://support.microsoft.com/kb/2741405 .
 

How to delete printer driver using WMI and powershell

In this case a new network printer was installed on network with ip address w.x.y.z. Unfortunately, this ip address w.x.y.z was belonging to some previously installed network printer that was decommissioned. On network there were client workstations that were using printer driver from the decommissioned printer pointing to w.x.y.z ip address. This situation was causing old spooled documents from clients for the decommissioned printer to print garbage on this new different type of printer with ip address w.x.y.z. The network administrator has provided list of client computers that were trying to empty their spool with old printer driver to the w.x.y.z ip address.
One way to delete this old printer driver pointing to w.x.y.z ip address from clients is using wmi with powershell.
First cancel old print jobs:

PS C:\Temp> (Get-WmiObject win32_printer -computer client1,client2... -filter "Portname = 'IP_w.x.y.z'").cancelalljobs()

Then, delete the print driver :

PS C:\Temp> (Get-WmiObject win32_printer -computer client1,client2... -filter "Portname = 'IP_w.x.y.z'").delete()
 

How to check EMBG (Unique Master Citizen Number) using regex

In this post, I will share my implementation of how to check if some number looks like EMBG or Unique Master Citizen Number. For those of yo...