04-21-2017 11:07 AM - last edited on 04-21-2017 11:17 AM by danny-r
What is happening for me is that I'm deploying printers with PowerShell and ThinPrint Mgmt Services cmdlets, and for some reason, when I create a certain configuration of printer, the new printer will use the HP UPD in dynamic mode (I can tell because I'll attempt to view Printer Properties while the script is running and I get the dreaded Dynamic Mode GUI that you can't close out of). This causes the script to take twice as long to create a printer with the ThinPrint cmdlets, and worse, it makes the Set-Printer command take either 2 or 3 minutes instead of 30 seconds to apply certain changes to the printers after they're created.
Since I have 5 print servers, these delays are multiplied by 5 (can't run these commands in parallel mode, unfortunately). This means a single printer will take 12 - 15 minutes to create, instead of the usual 2.5 - 3 minutes, and I'm trying to create ~1200 printers so it is causing me grief. 10 extra minutes per printer, multiply by 1200 printers = 12000 minutes = 600 hours = 25 days. That's 25 days of extra time my script could take due to dynamic mode feeling like it wants to enable. My initial solution is to create printers on 1 server only, then export ThinPrint ports from ThinPrint Engine and import them on other 4 servers, then do the same with Windows' printer export.
When installing the HP UPD on my servers, I'm using the install.exe file and choosing Traditional mode.
I have 8 different configs of printers in my PowerShell script. Dynamic mode seems to happen on 2 of the 8 configs, yet everything in these configs is also shared by at least 1 of the other 6 configs. Meaning I can't find any difference in the configs that would cause the HP UPD to use dynamic mode.
What I want to do is simply disable dynamic mode at all times. I can run my script and watch it use Traditional mode immediately on most printers, but then it will decide to do dynamic mode out of the blue. If it would just stop doing this, I am pretty sure my script will go back to 3 minutes per printer instead of randomly taking 15.
I have a request in with HP support regarding this issue, and will update this thread if I learn anything new.
04-21-2017 04:51 PM
Well I reduced my sample of 8 printer creates from taking 52 minutes yesterday to taking only 11 minutes today, with one simple change:
By adding the -asJob parameter to the Set-Printer commands. This causes it to process the commands in their own background thread instead of holding up the script. I was trying to do something similar with workflows and -parallel, but couldn't get it to work. Now I don't need it, hurray!
I can still see where the dynamic mode HP UPD slows me down, but it's not nearly as bad overall now. Still waiting to see if there is a way to break dynamic mode completely.