lips 10 Geschrieben 5. Februar 2007 Melden Teilen Geschrieben 5. Februar 2007 Und schon wieder ich... sorry dass ich erneut ein solchen Thread eröffne. Folgende Situation: Drucker am Printserver (Windows 2003, Standard) installiert. Mit TCP/IP an den jeweiligen Drucker verbunden (feste IP). Freigabenamen und Druckernamen sind gleich. z. B. LD-01-EG004 => Laserdrucker Nr. 1 Erdgeschoß Raum 004 Jetzt müßte ich aber in Abhängigkeit des Clientnamens bzw. den Standort des Clients (könnte man ja im AD eintragen) die Drucker zuweisen - soweit so gut. Aber an den Clients muss der Druckername (nicht Freigabename) auf allen Stationen gleich sein. So dass ich eben die Formulare in der Datenbank nicht für jeden User einstellen muss, sondern einfach nur Global für alle die Druckvorlagen definieren kann. Hoffe Ihr könnt mir dabei helfen! Grüße Lips Zitieren Link zu diesem Kommentar
rziwin 10 Geschrieben 6. Februar 2007 Melden Teilen Geschrieben 6. Februar 2007 Warum so kompliziert wenn es auch einfach geht?? Installiere doch einfach auf den jeweiligen PC's den passenden Drucker mit dem notwendigen Namen. Zitieren Link zu diesem Kommentar
lips 10 Geschrieben 6. Februar 2007 Autor Melden Teilen Geschrieben 6. Februar 2007 ist aber dann mehr arbeit - drucker lokal installieren; ich hab erst vor nem halben jahr umgestellt auf netzwerkdruckerverbindung und damals die formulare bei 50 usern per hand angepasst - jetzt da wir neue server bekommen haben und wir mal alle profile wieder neu angelegt haben sind natürlich auch die einstellungen weg. es wäre jetzt wieder ein totaler rückschrit, wenn ich die drucker lokal installieren würde... es kommt ja oft genug vor, dass ein drucker mal nicht funktioniert und die techniker lassen auch oft auf sich warten und so brauch ich ja nur ein mausklick am server machen und den anschlussport umstellen fertig - früher musste ich dafür von client zu client und dann wenn der drucker wieder ging die selbe arbeit nur wieder rückwärts - ist mir einfach zu nervig geworden bei fast 50 clients ist das auch nicht gerade wenig oder? Zitieren Link zu diesem Kommentar
twenty 12 Geschrieben 7. Februar 2007 Melden Teilen Geschrieben 7. Februar 2007 '---------------------------------------------------------- 'Ausblenden eventueller Fehlermeldungen '---------------------------------------------------------- on error resume next '---------------------------------------------------------- 'Instanzieren des Windows Scripting Hosts '---------------------------------------------------------- Set Network = CreateObject("Wscript.Network") '---------------------------------------------------------- 'Löschen eventuell bestehender Printerconnections '---------------------------------------------------------- For i = 0 To network.EnumPrinterConnections.Count - 1 On Error Resume Next network.RemovePrinterConnection network.EnumPrinterConnections.Item(i) Next '---------------------------------------------------------- 'Auslesen der ersten 4 Buchstaben des Computernamens '---------------------------------------------------------- sPCName = UCase(Left(network.ComputerName, 4)) '---------------------------------------------------------- 'Zuweisen der jeweiligen Drucker sowie des Defaultdruckers '---------------------------------------------------------- Select Case sPCName Case "PC01" PrinterShare = "\\ITMain\Raum1Color" network.AddWindowsPrinterConnection PrinterShare PrinterShare = "\\ITMain\Raum_1_Laser" network.AddWindowsPrinterConnection PrinterShare network.SetDefaultPrinter PrinterShare Case "PC02" PrinterShare = "\\ITMain\Raum1Color" network.AddWindowsPrinterConnection PrinterShare PrinterShare = "\\ITMain\Raum_2" network.AddWindowsPrinterConnection PrinterShare network.SetDefaultPrinter PrinterShare Case "PC03" PrinterShare = "\\ITMain\Raum1Color" network.AddWindowsPrinterConnection PrinterShare PrinterShare = "\\ITMain\Raum_3" network.AddWindowsPrinterConnection PrinterShare network.SetDefaultPrinter PrinterShare End Select Abspeichern als *.vbs und die Parameter an Deine Bedürfnisse anpassen. Zitieren Link zu diesem Kommentar
TeaRex 10 Geschrieben 6. März 2007 Melden Teilen Geschrieben 6. März 2007 Hallo zusammen, ich greife den etwas älteren Threat nochmals auf damit ich nicht unnötig einen neuen eröffnen muss. Mein Frage steht nämlich unmittelbar mit dem vb script von oben in verbindung. Das Script als solches funktioniert wunderprächtig, trotzdem möchte ich es etwas "optimieren" in der Hinsicht, dass ich nicht alle Computer eines Raums abfragen möchte, sondern das Script soll nur die ersten 3 Buchstaben auslesen und die restlichen sollen ihm egal sein. Aufgrund der ersten 3 Buchstaben sollen danach die Drucker zugewiesen werden. 1PC => Schulungsraum 1 2PC => Schulungsraum 2 Da die Computer in meinem Schulungsraum wie folgt benannt wurden 1PC01, 1PC02, 1PC03, ... 2PC01, 2PC02, .... und sich daher erst nach dem 3 Buchstaben unterscheiden, würde es doch Sinn machen, wenn dieses Script die ersten drei Zeichen vergleicht und danach die nötigen Drucker verbindet. Ich möchte mir so etwas Tipparbeit ersparen!!! Ich hoffe ich habe mich verständlich ausgedrückt, oder besser ihr versteht was ich meine. Klar ist mir übrigens auch, dass man das sehr einfach mit einer Batch abfrage erledigen könnte (if /i %computername:~0,3%==1PC goto ...), aber eben ich möchte es in vb realisieren. Thx Tea Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 6. März 2007 Melden Teilen Geschrieben 6. März 2007 In dem Script oben werden die ersten 4 Buchstaben ausgewertet sPCName = UCase(Left(network.ComputerName, 4)) .. mach aus der 4 ne 3 und gut. Zitieren Link zu diesem Kommentar
TeaRex 10 Geschrieben 6. März 2007 Melden Teilen Geschrieben 6. März 2007 Hallo Boardies, habe es probiert hat aber auf anhin nicht so richtig funktioniert. Nun ist alles i.O. Trotzdem noch eine Frage. Gibt es eine Möglichkeit das erste Zeichen des PC Namens zu ignorieren um nur das 2,3,4 Zeichen zu berücksichtigen. bsp. 1PC01 => PC0 Vielen Dank Tea Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 6. März 2007 Melden Teilen Geschrieben 6. März 2007 Z.B.: sPCName = UCase(Mid(network.ComputerName, 2, 3)) ab dem 2. Zeichen 3 Zeichen zurückgeben. Zitieren Link zu diesem Kommentar
TeaRex 10 Geschrieben 6. März 2007 Melden Teilen Geschrieben 6. März 2007 Vielen Dank!!!! Klappt wunderbar! Gruss Tea Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.