Two Minute Drill: PRINTBRM and the Configuration File

Good Morning AskPerf!  My name is Bernd Högen and I am a Platforms Escalation Engineer in Germany.  As we discussed in a previous post, PRINTBRM.EXE is the replacement for the now-retired PrintMig 3.1 utility.  PRINTBRM.EXE is located in the %systemroot%\System32\Spool\Tools folder on Windows Vista and later operating systems.  Today we’re going to quickly discuss the use of the Configuration File option (-C) with PRINTBRM.EXE.

The Configuration File can be used for three purposes:

  1. Replacing Printer Drivers during a Restore operation
  2. Backup / Restore of dependent files from 3rd party Language Monitors
  3. Backup / Restore of dependent files from 3rd party Print Processors

The configuration file can specified as an argument to the PRINTBRM.EXE command line tool using the –C switch.  If you do not specify a configuration file, then PRINTBRM looks for a BrmConfig.xml file in the System32\Spool folder.  Let’s take a look at a sample configuration file:

      <DRV old="HP LaserJet 5Si" new="HP LaserJet 4Si"/>

The area of the configuration file that we will be looking at is the <DriverMap> section – the Driver Mapping.  This feature allows PRINTBRM to change the printer driver during the restore if you so specify.  You would use this if you want to use a different printer driver on the target server than the one being used on the source server.  In our example above, our source server uses the HP LaserJet 5Si driver, but on our target we want to use the HP LaserJet 4Si driver.  When the restore is performed, all printer queues that used the HP LaserJet 5Si will be updated to use the new driver that we specified.  One quick thing to note is that the new driver that we specify – in this case the HP LaserJet 4Si has to be installed on the server – either as a pre-existing driver or as part of the export from the source server.

In our example, the syntax for our PRINTBRM command would be as follows: PRINTBRM –R –S “\\targetservername” –F “BackupFile.PrinterExport” – C “C:\Temp\DRVMAPPING.XML” –O FORCE

OK – so what are all the different pieces of this command:

  • -R: Restore the configuration in the file to the server
  • -S: Target Server
  • -F: Target Backup File
  • -C: Our Configuration File – in this case C:\TEMP\DRVMAPPING.XML
  • -O FORCE: Force an overwrite of existing objects

The –O FORCE option must be specified to update the settings of the existing printer queues, or the driver mapping will fail.  There are two other considerations to remember when running this command across the network:

  1. The Print$ share must exist on both the source and target servers
  2. The Remote Registry Service must be running

OK, that’s all for this post – hopefully this answers any questions you might have about the use of PRINTBRM and the Configuration File.  As you can see, the tool exposes some powerful functionality.   Take Care!

– Bernd Högen

Share this post :