killtec
Goto Top

Printer Ports per CLI oder VBS

Hallo zusammen,
ich muss auf 6 Servern (davon 5 Win2k und ein 2k8R2) Printer ports anlegen.
Da es viele Ports sind, will ich nicht auf jeden Server alles per Hand erledigen.
Gibt es hier eine Möglichkeit, so etwas zu scripten, was noch mit Win2k und auch 2k8R2 funktioniert?
Ich brauche nur die Ports, da die vorhandenen Geräte andere IP's bekommen.


EDIT: Es soll mit:
cscript prnport.vbs -a -r IP_192.168.2.1 -h 192.168.2.1 -o raw -n 9100 
gehen, nur bei dem 2k leider nicht.

Edit2: Beim 2k8R2 geht das wunderbar, beim 2k nicht. Gibt es hier andere Möglichkeiten?

Gruß

Content-Key: 215466

Url: https://administrator.de/contentid/215466

Printed on: April 26, 2024 at 17:04 o'clock

Member: apfelqoo
apfelqoo Aug 28, 2013 at 13:41:37 (UTC)
Goto Top
Soweit mir bekannt ist funktioniert prnport.vbs erst ab Windows 2003 (?)
Es sollte jedoch möglich sein Drucker via CMD hinzuzufügen:

http://support.microsoft.com/kb/189105/de

Viel Erfolg!
Member: Mike-M
Mike-M Aug 28, 2013 at 14:07:20 (UTC)
Goto Top
Hi,

hast du es schon mit Powershell versucht?

http://blog.cema.de/2010/04/anlegen-von-druckern-und-druckerports.html

Mike
Member: killtec
killtec Aug 28, 2013 updated at 14:22:18 (UTC)
Goto Top
Hi,
also bei dem Win2k8 habe ich alle Ports, nur bei dem Win2k System nicht.
Es gibt wohl ein Script von MS
http://support.microsoft.com/kb/321025/de
jedoch klappt das nicht.
Ich benötige nur den oberen Teil. Den habe ich wie folgtt angepasst:
'******** Register prnadmin.dll file on client computer *******  

Set WshShell = Wscript.CreateObject("Wscript.Shell")  

WshShell.Run "regsvr32 /s \\srv01\files\Program_Files\Windows Resource Kits\Tools\Prnadmin.dll",1,TRUE  

'************** Create the port first *******************************  

dim oPort

dim oMaster



for i=1 to 2
	ip="192.168.2." + Cstr(i)  
	portname = "IP_"+ip  
	msgbox portname
	set oPort = CreateObject(portname)
	set oMaster = CreateObject("PrintMaster.PrintMaster.1")  
	 oPort.PortName = "portname"  
	 oPort.HostAddress = "ip"  
	 oPort.PortType = 3
	 oMaster.PortAdd oPort
	 om

	if Err <> 0 then

	msgbox "There was an error creating the port."  

	end if
next

die For-Schleife geht erstmal nur bis 2 zum testen. Die geht dann nachher in dem Bereich bis >25.

Jedoch bleibt er in der Zeile 19 (set oPort = CreateObject(portname) mit einem Fehler vom Scripting Host stehen.
Fehler: Zeile 19 Zeichen 2
Fehler: ActiveX-Komponenten kann kein Objekt erstellen: 'IP_192.168.2.1'
Code: 800A01AD
Quelle: Laufzeitfehler in MS VBScript

finde jedoch den Fehler nicht face-sad

Gruß
Member: MartinBinder
MartinBinder Aug 28, 2013 at 14:29:29 (UTC)
Goto Top
Du hast das angepasst, oder? Im Original steht

set oPort = CreateObject("Port.Port.1")

Und so muss das auch sein. Du kannst hier nicht einfach einen IP-Port angeben, sondern das ist ein Port-OBJEKT.
Dein Portname und die IP kommen in Zeile 21 und 22...

ip="192.168.2." + Cstr(i)
portname = "IP_"+ip
dim oPort
dim oMaster
set oPort = CreateObject("Port.Port.1")
set oMaster = CreateObject("PrintMaster.PrintMaster.1")
oPort.PortName = portname
oPort.IP = ip
oPort.PortType = 3
oMaster.PortAdd oPort

Das wird so aber auch noch nicht funktionieren, da oPort.PortType mit Sicherheit kein IP-Port ist - da mußt durchprobieren (im W2K-Reskit würde es stehen, aber das gibt's bei MS nicht mehr zum Download...) Ein VBS-Editor mit COM-Support (z.B. SystemScripter oder VBSEdit) zeigt Dir aber die möglichen Werte an, wenn Du das Objekt dazu (also Port.Port.1) erstellt hast.
Member: killtec
killtec Aug 29, 2013 at 05:48:22 (UTC)
Goto Top
Hi,
so habe das jetzt wieder zurück gestellt. Nun kommt "Das angegebene Modul konnte nicht gefunden werden".
Angezeigt wird die Zeile mit dem port.port.1
Die Res-Kit habe ich zufällig auf einen anderen 2k Server gefunden...

Gruß
Member: killtec
killtec Aug 29, 2013 at 06:15:40 (UTC)
Goto Top
Habs gelöst.
Hier ist mein Script:
'******** Register prnadmin.dll file on client computer *******  

Set WshShell = Wscript.CreateObject("Wscript.Shell")  

WshShell.Run "regsvr32 /s \\srv01\files\Program_Files\Windows_Resource_Kits\Tools\Prnadmin.dll",1,TRUE  

'************** Create the port first *******************************  

dim oPort
dim oMaster
set oPort = CreateObject("Port.Port.1")  
set oMaster = CreateObject("PrintMaster.PrintMaster.1")  

msgbox "PAW - Drucker"  
for i=1 to 26
	ip="192.168.2." + Cstr(i)  
	portname = "IP_"+ip  
	'msgbox portname  

	 oPort.PortName = portname
	 oPort.PortType = 1
	 oPort.HostAddress = ip
	 oPort.PortNumber = 9100
	 oPort.SNMP = true 
	 oPort.CommunityName = "public"  
	 oPort.SNMPDeviceIndex = 1
	 oMaster.PortAdd oPort
	 

	if Err <> 0 then

	msgbox "There was an error creating the port."  

	end if
next

Danke für die Hilfe face-smile