Figure out what default printer is being used by an employee.

I want to see if there is a way that a all users profiles can be queried to show the default printer.  
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Asta CuTechnical consultant & graphic designCommented:
Hmmm printer defaults is usually at the end-user profile level.... thinking
Asta CuTechnical consultant & graphic designCommented:
Until someone pops by with exactly what you need,  perhaps this will be of help
\documents and settings\   all profiles including system profiles "should say".... but unclear.

Are all service packs applied?
Asta CuTechnical consultant & graphic designCommented:
Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

David LeeCommented:
It depends on what you mean by "all users profiles".  If that means to check all users as each one logs in, then I'd say that's pretty easy.  If instead it means to check all users from a central point without the user being logged in, then I don't think that's doable.  And if it means to check all the profiles on a given machine all at once, without the user being logged in, then I'd say that might be possible, but it'd be difficult at best.

Perhaps if you shared a bit about the intended goal we'd be in a better position to recommend a solution.
There is a registry key you can read to get the users defaut printer

HKCU\Software\Microsoft\Windows NT\currentVersion\Windows\Device

If you are happy using vbscript you can use some code like this to find what you want

'Create a wscript shell object
 Set WshShell = WScript.CreateObject("WScript.Shell")

'Get the default printer
defaultPrinterReg = WshShell.RegRead("HKCU\Software\Microsoft\Windows NT\currentVersion\Windows\Device")

I had to use this to find the users default printer and if it was a certain printer set it to another one. If it wasn't then leave it alone. (To many people were printing by default to an expensive colour printer). Using the script with group policy will ensure that it will run when the user logs in.

Note for BlueDevilFan: You may be able to "check all users from a central point without the user being logged in" if you could access their ntuser.dat files as the info will be in there (eg from a romaing profile, or a share to the pc istelf), but I agree that is would be much more work than it is worth. ;-)

Current User Default printer can ba found with a script :
Save it in a .vbs file.
Or check this thread :

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")
Set colInstalledPrinters =  objWMIService.ExecQuery _
    ("Select * from Win32_Printer Where Default = True")
For Each objPrinter in colInstalledPrinters
    Wscript.Echo objPrinter.Name

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Asta CuTechnical consultant & graphic designCommented:
Thank you.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows 2000

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.