Win2008 Print Cluster, printbrm export issue
-
Tuesday, November 18, 2008 2:44 PMI'm having the following issue:
After installing certain drivers on the virtual print cluster server, I can no longer export my drivers using the print management console, or using the commandline printbrm utility.
This happens with PCL or KX kyocera drivers, but also with Built-in drivers provided by microsoft such as the HP Laserjet 4 driver.
Basically what happens is that the utility tries to access a file in the system32 directory at the c$ share of the print cluster resource. This is impossible as the c$ share does not exists on the printer resource.
I verified this with the process monitor utility:
PrintBrmEngine.exe 4428 CreateFile \\vdmprinters\C$\Windows\system32\PJLMON.DLL BAD NETWORK NAME Desired Access: Generic Read, Disposition: Open, Options: Sequential Access, Non-Directory File, Open Reparse Point, Attributes: n/a, ShareMode: Read, Delete, AllocationSize: n/a
He actually tires 4 times. It's deadly simple that he will never be able to access this share. I have no clue why he tries to find the dll over there.
Sample output of the printbrm utility:
C:\Windows\System32\spool\tools>PrintBrm.exe -S vdmprinters -B -F d:\temp\test.export
Operation mode: backup
Target server: vdmprinters
Target file path: d:\temp\test.export.
Queue publish mode: none
Overwrite Mode: keep existing settings
LISTING PRINTER DRIVERS
HP LaserJet 4, Windows NT x86, PJL Language Monitor
HP Universal Printing PCL 5, Windows NT x86, None
LISTING PRINT PROCESSORS
hpcpp081 Windows NT x86 hpcpp081.dll
hpzpplhn Windows NT x86 hpzpplhn.dll
Saving Print Queues...
Saving Print Processors...
Saved print processor hpcpp081, Windows NT x86, hpcpp081.dll
Saved print processor hpzpplhn, Windows NT x86, hpzpplhn.dll
Saving Printer Drivers...
Saved printer driver HP LaserJet 4, Windows NT x86, 3
Saved printer driver HP Universal Printing PCL 5, Windows NT x86, 3
************ 100% ************
The following error occurred: 0x80070043.
The network name cannot be found.
Check the eventlog for detailed information about the error which occurred.
C:\Windows\System32\spool\tools>
Do not mistake the 100%, in some situations it's just 87% or other percentages.
This does not happen with the HP Universal Print Drivers installed only. Anyone which can help whether this is a microsoft issue with a fix? Or a printer driver vendor issue. Anyone with a lab cluster which has time to add the built-in Hp Laserjet 4 printer should be able to verify this...
Answers
-
Sunday, January 04, 2009 8:09 AMModerator
You can find a workaround here because I had the same problem yesterday:
http://www.nullsession.com/2009/01/04/printbrmexe-and-print-clusters-a-workaround/
Basically the steps are:
On the node where your print server resides you'll need to share the print servers cluster storage as C$.
On that drive, create a directory called Windows.
Get the linkd.exe app from W2k3 ResKit and create a junction point from X:\Windows to C:\Windows
Run PrintBRM.exe which should work now.
Delete the junction point, the windows-directory and remove the sharing of C$ for your X:-drive.
My guess is that when you restore you'll need to do this on both nodes since the dll's need to be copied back. (Haven't verified yet).
Technet Forums Moderator | Senior Specialist- Marked As Answer by Elden ChristensenMicrosoft Employee, Owner Tuesday, January 13, 2009 7:48 PM
All Replies
-
Tuesday, December 30, 2008 1:28 AMModeratorHi Thomas,
Do the print drivers have the same architecture? You cannot export 32-bit to a 64-bit system.
You may also find these docs useful:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;938923
http://technet.microsoft.com/en-us/library/cc722360.aspx
Thanks,
Symon Perriman
Program Manager
Clustering & HA
SymonP_MSFT -
Sunday, January 04, 2009 8:09 AMModerator
You can find a workaround here because I had the same problem yesterday:
http://www.nullsession.com/2009/01/04/printbrmexe-and-print-clusters-a-workaround/
Basically the steps are:
On the node where your print server resides you'll need to share the print servers cluster storage as C$.
On that drive, create a directory called Windows.
Get the linkd.exe app from W2k3 ResKit and create a junction point from X:\Windows to C:\Windows
Run PrintBRM.exe which should work now.
Delete the junction point, the windows-directory and remove the sharing of C$ for your X:-drive.
My guess is that when you restore you'll need to do this on both nodes since the dll's need to be copied back. (Haven't verified yet).
Technet Forums Moderator | Senior Specialist- Marked As Answer by Elden ChristensenMicrosoft Employee, Owner Tuesday, January 13, 2009 7:48 PM
-
Tuesday, January 13, 2009 7:48 PMOwnerJust an update to this issue...
This bug has been address in Windows Server 2008 Service Pack 2, as well as in Windows Server 2008 R2.
Thanks!
Elden -
Wednesday, January 21, 2009 9:17 PMIt will be fixed in SP2 indeed. A few days ago I received the fix from our microsoft contact. The fix ofcourse is to be used in test environments only and not at all supported for production environments.
Kind regards,
Thomas -
Saturday, February 28, 2009 9:43 AMI have just tried with Win 2008 SP2 (Beta) Std 64 bit.
I get the same error as I did without SP2. In fact I do not think that the printbrm files were updated by the SP.
I can backup from but not restore to win 2003 R2 SP2 Ent 64 bit cluster. I can restore to win 2003 R2 SP2 Ent 64 bit non-cluster server.
When I link to the windows directory as per the workaround above I just get a different error.
Without link:
The following error occurred: 0x80070043.
The network name cannot be found.
With Link:
The following error occurred: 0x80070032.
The request is not supported.
What is the fix that Thomas was able to obtain?
Can anyone shed any light on this?
Cheers,
Les
-
Tuesday, October 06, 2009 12:32 PM
Hello All ,
I am migrating my print services from a windows 2003 x32 SP2 cluster to a windows 2008 R2 cluster.
I am using the printbrm like all of you. The export runs fine (few errors on a specific printer)
I have trouble importing it to the R2 . The drivers and ports are migrated BUT none of the printers are imported.
example:Printbrm.exe (the Printer Migration Wizard or the command-line tool) failed to restore print queue LLPR-TER-00822. The restore process will continue, skipping this queue. Error: 0x80070709. The printer name is invalid.
eventid 92
I have this for all of the printers that i want to import.
I also tried the workaround described above, even it is a R2 .
Then I have another event 31,32,33 that mentions the correct driver is not set but that i can manually change it .Printbrm.exe (the Printer Migration Wizard or the command-line tool) restored a driver for a different processor architecture than that of the destination computer. Printbrm.exe will attempt to locate and install a native version of driver HP Color LaserJet 4500 on destination Windows x64. Try to print to the print queue, and if necessary, manually install a native version of the driver.
The driver in the backup file is for a different processor architecture than the destination computer, and Printbrm.exe (the Printer Migration Wizard or the command-line tool) could not locate and install a native version of the driver. Driver: HP Color LaserJet 4500. Destination architecture: Windows x64. Error: 0x80070057. The parameter is incorrect.
. Install a native version of the driver on the destination computer and then retry importing the print queues.
Note I already added the x64 drivers for almost all of the printer types
Except there are no printers imported.
Any help is appreciated.
Kr
Stephan -
Thursday, October 15, 2009 8:25 AMDid you try this hotfix ? :http://support.microsoft.com/Default.aspx?scid=kb%3ben-us%3b962998&x=17&y=10
-
Thursday, October 22, 2009 9:06 AMHi,
I came across this thread while searching for this issue. I have a Server 2008 cluster and get the error message that the OP has. I have tried the workaround as posted by Joachim Nasslander above.
It was mentioned that there wouldn't be a C$ administrative share but there is. So I shared the printer drive, H:, as C$, moving this share from C:
I created a folder called Windows on the H: drive.
I then ran the command "mklink.exe /D H:\Windows C:\Windows".
I then received the error message "Cannot create a file when that file already exists."
I have had an export complete before however and this was shortly after Tech support walked me through a process of cleaning the cluster print hive and I didn't need to do any trickery to get it to work either.
RESOLVED:
In the end I installed SP2 on to both nodes and this fixed the issue.

