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,636 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 5
11 Comments
 
LVL 6

Accepted Solution

by:
RootsMan earned 500 total points
ID: 34229951
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
ID: 34230395
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
ID: 34230514
prnport.vbs will also allow you to remove a port with the -d parameter.

0
Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

 

Author Comment

by:g9194
ID: 34236104
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
ID: 34236507
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
 

Author Comment

by:g9194
ID: 34241926
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
ID: 34244159
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
ID: 34245383
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
ID: 34247782
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
ID: 34254812
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
ID: 34254816
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

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

New Windows 7 Installations take days for Windows-Updates to show up and install. This can easily be fixed. I have finally decided to write an article because this seems to get asked several times a day lately. This Article and the Links apply to…
You may have a outside contractor who comes in once a week or seasonal to do some work in your office but you only want to give him access to the programs and files he needs and keep privet all other documents and programs, can you do this on a loca…
Windows 8 comes with a dramatically different user interface known as Metro. Notably missing from the new interface is a Start button and Start Menu. Many users do not like it, much preferring the interface of earlier versions — Windows 7, Windows X…
This Micro Tutorial will give you a introduction in two parts how to utilize Windows Live Movie Maker to its maximum capability. This will be demonstrated using Windows Live Movie Maker on Windows 7 operating system.

730 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