How to remove printers using GPO

May 28, 2009 at 06:05:07
Specs: Windows XP
Hello everyone,
One thing before i begin: Last month i changed of servers from novell to Microsoft 2003 servers. Even if i have received training, i still have a lot to learn with microsoft servers.

Here is my problem:
Right now in my schools, the printers are installed using directly IP address to the printers.
On one of the servers, we have a print server where we configure our new printers. So we made our print server there, configure the printers etc... And all is fine.

I know too that i can push my newly configured printers using the GPO. But how can i remove the ancient printers since they are in no way linked from gpo's or anything else to the windows server? Is there a way to remove them all (with the exception of pdf creator) and afterward push the newly configured printers using GPO?

Right now i have only GPO to push applications since SCCM will not be online before a few months.

Nice day
Dag


See More: How to remove printers using GPO

Report •


#1
August 13, 2009 at 08:52:27
You can use a logon script (vbscript would be best) to unmapp all of the printers on a workstation. Then in the same script add the printers that it should have.

You could even get it to create a small txt file somewhere once it has been done so when the machine logs on again the logon script can see the txt file, relaise that has allready run and simply quit.

Hope it helps :)


Report •

#2
August 14, 2009 at 00:26:51
I use a script for removing network (but not local) printers, just like blastman talks about. It's actually a script for mapping network drives and whatnot as well, so I can't post it all here. I'll just copy the part that removes network printers and then hopefully you can paste it into a script of your own. It looks like this:

----------------------------------------------------------------------
On error resume Next
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set Printers = WshNetwork.EnumPrinterConnections

For i = 0 to Printers.Count - 1 Step 2

If Left(ucase(Printers.Item(i+1)),2) = "\\" Then
' WScript.Echo Printers.Item(i+1)
WSHNetwork.RemovePrinterConnection Printers.Item(i+1)
End IF
Next
----------------------------------------------------------------------

Hope that helps!


Report •

Related Solutions


Ask Question