joni2000de
Goto Top

Neuen Drucker installieren als Kopie von einem bestehenden Drucker

Hallo Admins,

ich sollte 30 baugleiche Drucker auf einem Druckerserver installieren. Den ersten habe ich händisch installiert und alle Einstellungen so vorgenommen wie ich sie brauche. Jetzt wäre es fein wenn ich diesen Drucker kopierern könnte und 29 mal wieder einfügen. Der Unterschied bei den Druckern ist jeweils die IP-Adresse (die neuen IP-Anschlüsse sind noch nicht vorhanden), der Druckername und der Druckerfreigabename. Gibt es da eine Möglichkeit das einfach zu bewerkstelligen. Die Installation auf den Clients ist dann kein Problem.

Danke für eure Hilfe.

Gruß Joni

Content-ID: 168921

Url: https://administrator.de/forum/neuen-drucker-installieren-als-kopie-von-einem-bestehenden-drucker-168921.html

Ausgedruckt am: 23.12.2024 um 11:12 Uhr

60730
60730 30.06.2011 um 16:18:49 Uhr
Goto Top
moin,

ehrlich für 30 identische Drucker - bei denen "nur" die Ip; der Name und die Freigabe anders ist - rentiert sich das nicht.

Bei 300 eher. (und ja ich weiß auch wie)

Bedenke - egal wer dir hier was schreibt - testen mußt du es und für 30 Drucker würd ich mir ne rothaarige Praktikantin ausleihen.

Gruß
colinardo
colinardo 30.06.2011 um 17:35:26 Uhr
Goto Top
Lege eine *.csv-Datei in folgender Formatierung an, trage deine Druckerinfos dort ein und speichere sie z.B. unter c:\druckerinfos.csv:
(Wichtig ist das der Treibername exakt so eingetragen wird wie er in den Druckereigenschaften steht)
"Name Drucker 1","hp LaserJet 1320 PCL 6","192.168.1.14","Comment 1","Location 1","ShareName 1"  
"Name Drucker 2","hp LaserJet 1320 PCL 6","192.168.1.15","Comment 2","Location 2","ShareName 2"  
Dann legst du folgendes VBS-Script in einem Editor an:
(Den Pfad zur csv-Datei kannst du am Anfang in der Variablen printerInfoPath hinterlegen)
dim printerInfoPath = "c:\druckerinfos.csv"  
set objFS = Wscript.CreateObject("Scripting.FileSystemObject")  
set printerInfos = objFS.OpenTextFile(printerInfoPath,1)
strComputer = "."  
Set objWMIService = GetObject("winmgmts:" _  
	   & "{impersonationLevel=impersonate,(LoadDriver)}!\\" & strComputer & "\root\cimv2")  

Do While printerInfos.AtEndOfStream <> True
      printerDetails = printerInfos.ReadLine
      if printerDetails <> "" then  
      	printerDetails = Replace(printerDetails,chr(34),"")  
      	printerDetails = Split(printerDetails,",")  
      	strName = printerDetails(0)
				strDriver = printerDetails(1)
				strPort = printerDetails(2)
				strComment = printerDetails(3)
				strLocation = printerDetails(4)
				strShareName = printerDetails(5)
				
				Set objNewPort = objWMIService.Get("Win32_TCPIPPrinterPort").SpawnInstance_  
				objNewPort.Name = "IP_" & strPort  
				objNewPort.Protocol = 1
				objNewPort.HostAddress = strPort
				objNewPort.PortNumber = "9100"  
				objNewPort.SNMPEnabled = False
				objNewPort.Put_
				
				Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_  
				objPrinter.DriverName = strDriver
				objPrinter.PortName = "IP_" & strPort  
				objPrinter.DeviceID = strName
				objPrinter.Location = strLocation
				objPrinter.Comment = strComment
				objPrinter.Network = true
				objPrinter.Shared = true
				objPrinter.ShareName = strShareName
				objPrinter.Put_
   		end if
Loop
printerInfos.close

Hinweis: Die entsprechenden Ports dürfen noch nicht existieren...

Grüße Uwe
joni2000de
joni2000de 01.07.2011 um 16:39:38 Uhr
Goto Top
Hi Uwe,
hat perfekt funktioniert. Danke!
Gruß Joni