eean (8th June 2009)
Hi there,
I've been searching around the forum but can't find anything that fits the bill so here goes.
We are in the process of joining our two current networks into one that's newly created (completely seperate). On Friday I rolled in 45 new admin machines to replace their old ones and have joined them all to our new domain.
I am having an issue in that these PCs all have PDFCreator on them which sets up a printer. In the rollout image we've been using, this printer is the default because no other printers are installed. When the machines were deployed I then set up all of the users printers which are mainly local ones and are not all the same type.
This is all fine, however I cannot find a way to make the one I've just installed the default for all of the users that may log on. They all default to the PDF printer which is causing me a great number of support calls.
We are using a default profile from the Netlogon folder so I can't set it from there.
I don't foresee a problem when we bring our curriculum machines into the mix since I've modified a script from this site to check the PC name and apply a default printer, but in the mean time for admin if I were to do it by script I'd have one as long as my arm.
Am I missing the obvious here?
Cheers
HBJB
Assuming win xp
log on as a user(non admin) and set the printer as the default printer.
reboot the pc log in as an admin user. right click my computer select properties--go to the advanced tab-- select user profiles button--copy the profile of the user you loged in as to the default user profile use the browse button and point to C:\Documents and Settings\Default User. It may ask for a username and password just give the admin credentials. in the permited to use box type everyone and check name make sure its highlighted.
delete any profiles on the machines ** if the user already has a profile o the PC these settings will not take effect.**
have the user logon the printer should now be default.
Nope! That didn't work and I had already tried that but in a slightly different way (copying the "good" profile, deleting the Default User one and then renaming the copy as Default User). I thougt
I asume it's not working because we use a profile that's delivered from the server and not the local one.
Cheers
HBJB
Curious, I went to add a new post and it edited my old one. There was a forum database issue on the first submit though.
HBJB
It's an awful lot easier to just set:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device
That key is what defines the default printer and is a per-user setting (I never got the logic of making printers per-user by default - why would you want your printer to follow you round in any environment?)
Log on as yourself, set the default printer, then export that registry value - so you've got the correct syntax.
You then just have to set that reg key to the right printer for each machine. We do it here with a .reg file in %windir% that just get silently imported on logon; but there's a million other ways of setting that key on logon.![]()
eean (8th June 2009)
Yes it wont work if you have a default user profile in your netlogon folder.
There is also a command line option for installing printers globally to a machine.
RUNDLL32 PRINTUI.DLL,PrintUIEntry /ga /n\\printserver\printer
http://www.robvanderwoude.com/index.html for more examples
That seems to do the business. I've exported the key and made a reg file, tweaked it for each different printer and dropped it on the local machine. Then I've added an "if exist file.reg regedt /s file.reg" in the user logon script in the OU for admin staff.Originally Posted by GeeDee
Thanks for your help.
HBJB
I think Pooley has the right idea but there few points that need changing.
Rather than using the UNC format put the name of the printer as it would appear in the Printers and Faxes folder of Windows Control
This would go in an appropriate logon script.Code:RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n "HP DeskJet BlahDeBlah"
the /ga is not necessary as HBJB is trying make printer default as he has already installed it.
the UNC format would also require the printer to be shared which is not need in this case.
@NetworkGeezer
I'll investigate both options. Any idea which would be most effecient? They both require a small amendment to the logon script and a local script/reg patch so it may be swings and roundabouts.
I'm not thinking straight today since I was removing old machines until 10pm on Thursday, installing new ones on Friday on my own since both techs decided to be ill :x (another late night), spent Saturday transfering home folders and other files from the old server to the new ones and part of Sunday tidying up all the mess.
<edit> And I can't spell today !! </edit>
Cheers
HBJB
I would suggest your try the PrintUI.dll method as it is probably more flexiblie then a reg file import in this instance.
You can also test interactively by opening up the Printers folder and then changing the default printer from the command line.
You can set PDF creator up on a server as well and share it. That may stop some problems with ti being a lcoal printer.
Looked into that but couldn't get it to stop coming up with the dialog box on the Print server itself. For example, I send a job to print from a workstation, at the server I get the dialog box about where to save the file :cry: . Naturaly I didn't see this at the workstation so couldn't save the files where I wanted. In fact there was no dialog at all, as far as the workstation was concerned the job had printed.Originally Posted by ChrisH
Cheers
HBJB
All the printui method does is change the registry value - and less reliably in my experience (especially if the printer connection has very recently been created).
If you want to use that method (on an existing printer) the syntax is:
Registry hacks generally fit into existing envrionments better though - and it works very reliably.Code:rundll32 printui.dll,PrintUIEntry /y /n\\UNC\path\to\printer
![]()
I can't say that I ever had a problem with PrintUIEntry /y /n other than when I forgot to rename a queque reference after relocating the printerops:
As for syntax here's what the help page says
I've tried it myself. The UNC version is OK for printers shared off a Windows Server but for local printers, as in the original question, the above is probably more appropriate.Set printer as default:
Code:rundll32 printui.dll,PrintUIEntry /y /n "printer"
For anybody interested the help page isCode:RUNDLL32 PrintUI.DLL,PrintUIEntry /?
mark (25th February 2008)
There are currently 1 users browsing this thread. (0 members and 1 guests)