none
Win2008 Print Cluster, printbrm export issue

    Question

  • I'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...
    Tuesday, November 18, 2008 2:44 PM

Answers

  • 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
    Sunday, January 04, 2009 8:09 AM
    Moderator

All replies

  • Hi 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
    Tuesday, December 30, 2008 1:28 AM
    Moderator
  • 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
    Sunday, January 04, 2009 8:09 AM
    Moderator
  • Just 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
    Tuesday, January 13, 2009 7:48 PM
    Owner
  •  It 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
    Wednesday, January 21, 2009 9:17 PM
  • I 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
    Saturday, February 28, 2009 9:43 AM
  • 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

    Tuesday, October 06, 2009 12:32 PM
  • Did you try this hotfix ? :http://support.microsoft.com/Default.aspx?scid=kb%3ben-us%3b962998&x=17&y=10
    Thursday, October 15, 2009 8:25 AM
  • Hi,

    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.
    Thursday, October 22, 2009 9:06 AM