Solved

Printer setup script / utility for "local printer" on TCP/IP port in Windows (non-domain) - remove conflicts then add port and printer

Posted on 2010-11-28
11
1,585 Views
Last Modified: 2012-06-27
Does anyone know of a utility (or does anyone know how to write a script) that can work on Windows 7 and Windows XP (it could be two separate utilities/scripts) and can:

1) Remove any TCP/IP printer ports on a given IP address
2) Add a new TCP/IP printer port on that IP address
3) Add the printer on that port and install the driver from a network path to a .inf file

You can assume the script will be run as administrator.

If it relies on a utility, ideally it would be one that comes installed with Windows, but if not that might still be fine.

This is not being used on a Windows domain, so unfortunately some potentially easy solutions along those lines aren't available.
0
Comment
Question by:g9194
  • 6
  • 5
11 Comments
 
LVL 6

Accepted Solution

by:
RootsMan earned 500 total points
Comment Utility
For Windows 7, the location of the Printing Administration Scripts are in C:\Windows\System32\Printing_Admin_Scripts\en-US\.

You can use prnport.vbs to add a Standard TCP/IP Port:

cscript //NoLogo prnport.vbs -a -r IP_%1 -h %1 -me -y public -o raw -n 9100

Open in new window

- Where %1 is the IP address of the printer.


You can use prnmngr.vbs to add the printer driver:

cscript //NoLogo prnmngr.vbs -a -p %1 -m %2 -r "IP_%3"

Open in new window


Where:
- %1 is the Name of the Printer
- %2 is Name of the Printer Driver
- %3 the is IP Address of the Printer

0
 

Author Comment

by:g9194
Comment Utility
Thanks, I'll plan to give that a try later.  Does it also take care of bullet #1 (removing any existing ports on that IP [and I assume by implication any printers on those ports])?
0
 
LVL 6

Assisted Solution

by:RootsMan
RootsMan earned 500 total points
Comment Utility
prnport.vbs will also allow you to remove a port with the -d parameter.

0
 

Author Comment

by:g9194
Comment Utility
It looks like -d will allow deletion of a port, but when I tried it, it gave me an error.  I'm wondering if the printer needs to be removed first so it's not using that port.  If that's it, how can I have it accomplish that - is there something that will automatically delete the port and printer on a certain IP?

cscript //NoLogo delete_port.vbs -d -r "192.168.1.200"

Unable to delete port Error 0x80041001 Generic failure
Operation DeleteInstance
Provider Win32 Provider
Description The requested resource is in use.
0
 
LVL 6

Expert Comment

by:RootsMan
Comment Utility
Yes. Try deleting the printer first and then deleting the port that printer was using.

cscript //NoLogo prnmngr.vbs -d -p "Name of the Printer to Delete"

Open in new window

0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 

Author Comment

by:g9194
Comment Utility
Hmm... the script won't necessarily know the name of the printer - it needs to be able to delete it by IP address.  Should I close this question and give partial points and then open a separate question?
0
 
LVL 6

Expert Comment

by:RootsMan
Comment Utility
Do you really need to delete the TCP/IP port?

The name of the printer is required in order to target it for management.

To delete the TCP/IP port you'll have to free up the port by, 1. changing the port that the printer is using to something else:

cscript //NoLogo prncnfg.vbs -t -p "Printer Name" -r "IP_192.168.1.101"

Open in new window


or 2. deleting the printer:
cscript //NoLogo prnmngr -d -p "printer name"

Open in new window



BTW, once you add a new printer, if you want to make it the "Default" you can use the following code in your .vbs script:

Set WSHNetwork = CreateObject("WScript.Network")
WSHNetwork.SetDefaultPrinter "HP LaserJet 5Si"

Open in new window



0
 

Author Comment

by:g9194
Comment Utility
I think I do need to delete it to prevent a conflict.

If you don't know how to delete a printer and port given ONLY an IP address, that's ok - I might be able to take the help you gave me so far and then ask that as a separate question.

Thanks!
0
 
LVL 6

Assisted Solution

by:RootsMan
RootsMan earned 500 total points
Comment Utility
The list generated by cscript prnmngr.vbs -l will show the Printer name and Port name. Maybe you can parse that list to pull out the name, or use that info when you ask a separate question.

Just curious of where do you think the conflict would be?

0
 

Author Comment

by:g9194
Comment Utility
Ah, maybe there isn't one.  I guess I just assumed you couldn't have two on the same port.  I'll go ahead and accept your answers.  Thanks for the help!
0
 

Author Closing Comment

by:g9194
Comment Utility
I felt like there could have been better reading done so that so much back and forth wasn't required, but overall I was happy with the help that was provided.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Sometimes people don't understand why download speed shows differently for Windows than Linux.Specially, this article covers and shows the solution for throughput difference for Windows than a Linux machine. For this, I arranged a test scenario.I…
This article is the result of a quest to better understand Task Scheduler 2.0 and all the newer objects available in vbscript in this version over  the limited options we had scripting in Task Scheduler 1.0.  As I started my journey of knowledge I f…
This Micro Tutorial will teach you how to the overview of Microsoft Security Essentials. This is a free anti-virus software that guards your PC against viruses, spyware, worms, and other malicious software. This will be demonstrated using Windows…
This Micro Tutorial will teach you how to change your appearance and customize your Windows 7 interface to your unique preference. This will be demonstrated using Windows 7 operating system.

763 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

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now