Discussion:
Using prnmngr to push printer to all users
(too old to reply)
Mbordelon
2009-12-01 21:51:02 UTC
Permalink
we are in the process of replacing all network printers on our network. All
printer names and IP addresses are going to change. I am trying to setup
deployment jobs to push printers to all workstations and set default
printers. I have been successful pushing a printer to a test workstation
using my own credentials but, it only shows up under my profile. I have tried
pushing printers to other workstations with no luck. On the test workstation
I have logged on as several different users but, the printers only show up
under my profile. Is there a switch I am missing that would make the printers
available to all users ?
John John - MVP
2009-12-01 22:53:01 UTC
Permalink
You could do this with the printui.dll.

Excerpt from PrintUI.DLL User’s Guide and Reference:

Add a per-machine connection

Adds a per-machine connection to the client machine. A per-machine
connection is a printer configured to be accessible by all users of the
client machine. Normally, when a user adds a printer to a client
machine, the printer is visible only to the account used by the person
adding the printer. This command must be run by a local admin of the
client machine.

Command Line:

rundll32 printui.dll PrintUIEntry /ga /n\\machine\printer

http://download.microsoft.com/download/8/2/c/82cffcfa-56f6-4fc3-bfa5-80cd84793871/PrintUIUsersGuide.doc
(Word Document)

John
Post by Mbordelon
we are in the process of replacing all network printers on our network. All
printer names and IP addresses are going to change. I am trying to setup
deployment jobs to push printers to all workstations and set default
printers. I have been successful pushing a printer to a test workstation
using my own credentials but, it only shows up under my profile. I have tried
pushing printers to other workstations with no luck. On the test workstation
I have logged on as several different users but, the printers only show up
under my profile. Is there a switch I am missing that would make the printers
available to all users ?
Mbordelon
2009-12-02 14:20:01 UTC
Permalink
Thanks a lot for the information. That worked perfectly for adding the
printers for all users.

One note for anyone using this command. The printers don't appear until the
print spooler is restarted.

The one issue I am having is setting the printer as the default printer once
it's added.

The command I am using to add the printer is [rundll32 printui.dll
PrintUIEntry /ga /n "\\prntserv\is" ]

According to the manual the "/y" switch is used to set the printer as the
default.
I have tried putting the /y before the /ga , after the /ga ,before the /n ,
after the /n, after the printer name. I have even tried running the script
like this [rundll32 printui.dll PrintUIEntry /y /n "\\prntserv\is" ]
withouth the /ga . But , the printer does not show as default.

Where am I going wrong?
Post by John John - MVP
You could do this with the printui.dll.
Add a per-machine connection
Adds a per-machine connection to the client machine. A per-machine
connection is a printer configured to be accessible by all users of the
client machine. Normally, when a user adds a printer to a client
machine, the printer is visible only to the account used by the person
adding the printer. This command must be run by a local admin of the
client machine.
rundll32 printui.dll PrintUIEntry /ga /n\\machine\printer
http://download.microsoft.com/download/8/2/c/82cffcfa-56f6-4fc3-bfa5-80cd84793871/PrintUIUsersGuide.doc
(Word Document)
John
Post by Mbordelon
we are in the process of replacing all network printers on our network. All
printer names and IP addresses are going to change. I am trying to setup
deployment jobs to push printers to all workstations and set default
printers. I have been successful pushing a printer to a test workstation
using my own credentials but, it only shows up under my profile. I have tried
pushing printers to other workstations with no luck. On the test workstation
I have logged on as several different users but, the printers only show up
under my profile. Is there a switch I am missing that would make the printers
available to all users ?
.
John John - MVP
2009-12-02 14:42:32 UTC
Permalink
The default printer setting is a 'per user' setting. Have the users run
the command via a logon script.

John
Post by Mbordelon
Thanks a lot for the information. That worked perfectly for adding the
printers for all users.
One note for anyone using this command. The printers don't appear until the
print spooler is restarted.
The one issue I am having is setting the printer as the default printer once
it's added.
The command I am using to add the printer is [rundll32 printui.dll
PrintUIEntry /ga /n "\\prntserv\is" ]
According to the manual the "/y" switch is used to set the printer as the
default.
I have tried putting the /y before the /ga , after the /ga ,before the /n ,
after the /n, after the printer name. I have even tried running the script
like this [rundll32 printui.dll PrintUIEntry /y /n "\\prntserv\is" ]
withouth the /ga . But , the printer does not show as default.
Where am I going wrong?
Post by John John - MVP
You could do this with the printui.dll.
Add a per-machine connection
Adds a per-machine connection to the client machine. A per-machine
connection is a printer configured to be accessible by all users of the
client machine. Normally, when a user adds a printer to a client
machine, the printer is visible only to the account used by the person
adding the printer. This command must be run by a local admin of the
client machine.
rundll32 printui.dll PrintUIEntry /ga /n\\machine\printer
http://download.microsoft.com/download/8/2/c/82cffcfa-56f6-4fc3-bfa5-80cd84793871/PrintUIUsersGuide.doc
(Word Document)
John
Post by Mbordelon
we are in the process of replacing all network printers on our network. All
printer names and IP addresses are going to change. I am trying to setup
deployment jobs to push printers to all workstations and set default
printers. I have been successful pushing a printer to a test workstation
using my own credentials but, it only shows up under my profile. I have tried
pushing printers to other workstations with no luck. On the test workstation
I have logged on as several different users but, the printers only show up
under my profile. Is there a switch I am missing that would make the printers
available to all users ?
.
John John - MVP
2009-12-02 15:09:45 UTC
Permalink
To make sure that there is no confusion, just have the users run the
command with the switches to set the default printer:

rundll32 printui.dll,PrintUIEntry /y /n\\servername\printername

John
Post by John John - MVP
The default printer setting is a 'per user' setting. Have the users run
the command via a logon script.
John
Post by Mbordelon
Thanks a lot for the information. That worked perfectly for adding the
printers for all users.
One note for anyone using this command. The printers don't appear
until the print spooler is restarted.
The one issue I am having is setting the printer as the default
printer once it's added.
The command I am using to add the printer is [rundll32 printui.dll
PrintUIEntry /ga /n "\\prntserv\is" ]
According to the manual the "/y" switch is used to set the printer as
the default.
I have tried putting the /y before the /ga , after the /ga ,before the
/n , after the /n, after the printer name. I have even tried running
the script like this [rundll32 printui.dll PrintUIEntry /y /n
"\\prntserv\is" ] withouth the /ga . But , the printer does not show
as default.
Where am I going wrong?
Post by John John - MVP
You could do this with the printui.dll.
Add a per-machine connection
Adds a per-machine connection to the client machine. A per-machine
connection is a printer configured to be accessible by all users of
the client machine. Normally, when a user adds a printer to a client
machine, the printer is visible only to the account used by the
person adding the printer. This command must be run by a local admin
of the client machine.
rundll32 printui.dll PrintUIEntry /ga /n\\machine\printer
http://download.microsoft.com/download/8/2/c/82cffcfa-56f6-4fc3-bfa5-80cd84793871/PrintUIUsersGuide.doc
(Word Document)
John
Post by Mbordelon
we are in the process of replacing all network printers on our
network. All printer names and IP addresses are going to change. I
am trying to setup deployment jobs to push printers to all
workstations and set default printers. I have been successful
pushing a printer to a test workstation using my own credentials
but, it only shows up under my profile. I have tried pushing
printers to other workstations with no luck. On the test workstation
I have logged on as several different users but, the printers only
show up under my profile. Is there a switch I am missing that would
make the printers available to all users ?
.
Mbordelon
2009-12-02 17:00:02 UTC
Permalink
Thanks. I created a batch file for each printer and created a script to copy
the file for the appropriate printer into the all users\startup folder. This
seems to work.
Post by John John - MVP
To make sure that there is no confusion, just have the users run the
rundll32 printui.dll,PrintUIEntry /y /n\\servername\printername
John
Post by John John - MVP
The default printer setting is a 'per user' setting. Have the users run
the command via a logon script.
John
Post by Mbordelon
Thanks a lot for the information. That worked perfectly for adding the
printers for all users.
One note for anyone using this command. The printers don't appear
until the print spooler is restarted.
The one issue I am having is setting the printer as the default
printer once it's added.
The command I am using to add the printer is [rundll32 printui.dll
PrintUIEntry /ga /n "\\prntserv\is" ]
According to the manual the "/y" switch is used to set the printer as
the default.
I have tried putting the /y before the /ga , after the /ga ,before the
/n , after the /n, after the printer name. I have even tried running
the script like this [rundll32 printui.dll PrintUIEntry /y /n
"\\prntserv\is" ] withouth the /ga . But , the printer does not show
as default.
Where am I going wrong?
Post by John John - MVP
You could do this with the printui.dll.
Add a per-machine connection
Adds a per-machine connection to the client machine. A per-machine
connection is a printer configured to be accessible by all users of
the client machine. Normally, when a user adds a printer to a client
machine, the printer is visible only to the account used by the
person adding the printer. This command must be run by a local admin
of the client machine.
rundll32 printui.dll PrintUIEntry /ga /n\\machine\printer
http://download.microsoft.com/download/8/2/c/82cffcfa-56f6-4fc3-bfa5-80cd84793871/PrintUIUsersGuide.doc
(Word Document)
John
Post by Mbordelon
we are in the process of replacing all network printers on our
network. All printer names and IP addresses are going to change. I
am trying to setup deployment jobs to push printers to all
workstations and set default printers. I have been successful
pushing a printer to a test workstation using my own credentials
but, it only shows up under my profile. I have tried pushing
printers to other workstations with no luck. On the test workstation
I have logged on as several different users but, the printers only
show up under my profile. Is there a switch I am missing that would
make the printers available to all users ?
.
.
John John - MVP
2009-12-02 17:07:54 UTC
Permalink
You're welcome.

John
Post by Mbordelon
Thanks. I created a batch file for each printer and created a script to copy
the file for the appropriate printer into the all users\startup folder. This
seems to work.
Post by John John - MVP
To make sure that there is no confusion, just have the users run the
rundll32 printui.dll,PrintUIEntry /y /n\\servername\printername
John
Post by John John - MVP
The default printer setting is a 'per user' setting. Have the users run
the command via a logon script.
John
Post by Mbordelon
Thanks a lot for the information. That worked perfectly for adding the
printers for all users.
One note for anyone using this command. The printers don't appear
until the print spooler is restarted.
The one issue I am having is setting the printer as the default
printer once it's added.
The command I am using to add the printer is [rundll32 printui.dll
PrintUIEntry /ga /n "\\prntserv\is" ]
According to the manual the "/y" switch is used to set the printer as
the default.
I have tried putting the /y before the /ga , after the /ga ,before the
/n , after the /n, after the printer name. I have even tried running
the script like this [rundll32 printui.dll PrintUIEntry /y /n
"\\prntserv\is" ] withouth the /ga . But , the printer does not show
as default.
Where am I going wrong?
Post by John John - MVP
You could do this with the printui.dll.
Add a per-machine connection
Adds a per-machine connection to the client machine. A per-machine
connection is a printer configured to be accessible by all users of
the client machine. Normally, when a user adds a printer to a client
machine, the printer is visible only to the account used by the
person adding the printer. This command must be run by a local admin
of the client machine.
rundll32 printui.dll PrintUIEntry /ga /n\\machine\printer
http://download.microsoft.com/download/8/2/c/82cffcfa-56f6-4fc3-bfa5-80cd84793871/PrintUIUsersGuide.doc
(Word Document)
John
Post by Mbordelon
we are in the process of replacing all network printers on our
network. All printer names and IP addresses are going to change. I
am trying to setup deployment jobs to push printers to all
workstations and set default printers. I have been successful
pushing a printer to a test workstation using my own credentials
but, it only shows up under my profile. I have tried pushing
printers to other workstations with no luck. On the test workstation
I have logged on as several different users but, the printers only
show up under my profile. Is there a switch I am missing that would
make the printers available to all users ?
.
.
Loading...