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

Posted on 2004-10-21
Medium Priority
Last Modified: 2010-04-13
I want to see if there is a way that a all users profiles can be queried to show the default printer.  
Question by:a_selvaggio
LVL 27

Expert Comment

by:Asta Cu
ID: 12374286
Hmmm printer defaults is usually at the end-user profile level.... thinking
LVL 27

Assisted Solution

by:Asta Cu
Asta Cu earned 800 total points
ID: 12374311
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?
LVL 27

Assisted Solution

by:Asta Cu
Asta Cu earned 800 total points
ID: 12374319
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

LVL 76

Assisted Solution

by:David Lee
David Lee earned 400 total points
ID: 12375510
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.

Assisted Solution

Beldoran earned 400 total points
ID: 12377293
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. ;-)

LVL 10

Accepted Solution

Longbow earned 400 total points
ID: 12379871
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
LVL 27

Expert Comment

by:Asta Cu
ID: 13807912
Thank you.

Featured Post

Become an Android App Developer

Ready to kick start your career in 2018? Learn how to build an Android app in January’s Course of the Month and open the door to new opportunities.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

NTFS file system has been developed by Microsoft that is widely used by Windows NT operating system and its advanced versions. It is the mostly used over FAT file system as it provides superior features like reliability, security, storage, efficienc…
Whether you have a site with just static html pages or a dynamic database-driven one, this step-by-step migration guide will help you get started with your new DV server. This guide is by no means comprehensive but it should cover the basics to get …
The Relationships Diagram is a good way to get an overall view of what a database is keeping track of. It is also where relationships are defined. A relationship specifies how two tables connect to each other. As you build tables in Microsoft Ac…
How to fix display issue, screen flickering issue when I plug in power cord to the machine. Before I start explaining the solution lets check out once the issue how it looks like after I connect the power cord. most of you also have faced this…
Suggested Courses

615 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question