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-ID: 215466

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

Ausgedruckt am: 22.11.2024 um 13:11 Uhr

apfelqoo
apfelqoo 28.08.2013 um 15:41:37 Uhr
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!
Mike-M
Mike-M 28.08.2013 um 16:07:20 Uhr
Goto Top
Hi,

hast du es schon mit Powershell versucht?

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

Mike
killtec
killtec 28.08.2013 aktualisiert um 16:22:18 Uhr
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ß
MartinBinder
MartinBinder 28.08.2013 um 16:29:29 Uhr
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.
killtec
killtec 29.08.2013 um 07:48:22 Uhr
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ß
killtec
killtec 29.08.2013 um 08:15:40 Uhr
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