Windows 2003 print Cluster

jskfan used Ask the Experts™
I am following the steps described in this link:

it's no clear when it gets here:

<<Once you have changed all queues to WinPrint you could now remove the third party print processors from the cluster.  However, think about the consequences before decide to delete them.  
If a print queue is configured to use a print processor that no longer exists it will not appear when the print spooler is restarted.  To get the queue back you have to edit the registry to change the print processor to WinPrint and restart the spooler. >>>

any expert out there to explain what they mean ?


Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Robin CMSenior Security and Infrastructure Engineer

Just means that if you miss converting any queues over from the xxx print processor to WinPrint those queues will be unavailable if you remove the xxx print processor. They're not deleted - you can get them back by editing the registry to manually set the to use the WinPrint print processor.
in my case , some print queues had print processor using something different than WinPrint, so I change the queues to WinPrint.
how would that statement be relevant to my case?
Robin CMSenior Security and Infrastructure Engineer

If you changed ALL the queues using the other print processor then you should be unaffected when you remove it.


I ran this script to change all print processor to Winprint, I thought it has changed it, but when I looked one of the print queue by chance , I found that it was not changed, I kept looking for others and found it that it didn't change it.
What's wrong with this script:
Const HKEY_LOCAL_MACHINE = &H80000002

strLogfile = "C:\results.txt"
strComputer = "target server"
intCounter = 0

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile(strLogFile)

Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "Cluster\Resources\<resource id>\Parameters\Printers\"

objReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys

For Each strSubkey in arrSubKeys
    objReg.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath & strSubkey,"Print Processor", strPrintProcessor
    If LCase(strPrintProcessor) <> "winprint" Then
        objReg.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath & strSubkey,"Print Processor", "WinPrint"
        objFile.WriteLine "Printer: " & strSubkey & vbTab & "Print Processor was: " & strPrintProcessor & " but has now been changed to WINPRINT"
        intCounter= intCounter + 1
    End if

WScript.Echo "Finished.  Modified " & intCounter & " printer processors"
objFile.WriteLine "Modified" & intCounter & " printer processors"


Note that I replaced the <Resource id> with the correct name.

I know you are not supposed to help me through this script, but I am just curious,



Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial