Deziph 10 Geschrieben 16. Oktober 2007 Melden Teilen Geschrieben 16. Oktober 2007 Guten Tag, Ich habe anhand folgender Anleitung versucht, meinem Client bei der Anmeldung einen LAN-Drucker automatisch zuzuweisen. http://193.171.7.43/StepbyStep/Step%20by%20Step%20Dokus/Step_1_Uebersicht_deutsch.doc Leider klappt das nicht so, wie ich mir das vorgestellt habe, da das gewünschte Ergebnis nicht erzielt wurde. Dem Anmelde-Log des Clients zu urteilen findet er die in dem Tutorial beschriebene Datei 'Printer.vbs' nicht. Ich bin genau nach dieser Anleitung gegangen, habe aber auch die Datei aus einem freigegebenen Ordner geladen. Hier ein paar Infos zu meinem Testsystem: Domaincontroller - Windows Server 2003 Standard Edition Client - WinXP Pro SP2 LAN-Drucker - HP2300 Der Client, sowie der Drucker befinden sich in der Domain des Controllers. Woran könnte es liegen? Falls das vom modifizierten Script abhängig sein könnte, füge ich meine Variante hier hinzu: '---------------------------------------------------------- '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 3 Buchstaben des Computernamens '---------------------------------------------------------- sPCName = UCase(Left(network.ComputerName, 3)) '---------------------------------------------------------- 'Zuweisen der jeweiligen Drucker sowie des Defaultdruckers '---------------------------------------------------------- Select Case sPCName Case "tre" PrinterShare = "\\dc\hp2300" 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 Ich bedanke mich im Voraus für die Hilfe. Mit freundlichen Grüßen Derziph Zitieren Link zu diesem Kommentar
~~~Dexter~~~ 10 Geschrieben 16. Oktober 2007 Melden Teilen Geschrieben 16. Oktober 2007 sPCName = UCase(Left(network.ComputerName, 3)) '<-Hier wandels Du die Zeichenfolge in Großbuchstaben um. Select Case sPCName 'Der Vergleich "TRE" mit "tre" liefert natürlich ein Unwahr. Deshalb auf die Schreibweise achten. Case "tre" PrinterShare = "\\dc\hp2300" network.AddWindowsPrinterConnection PrinterShare End Select Zitieren Link zu diesem Kommentar
Deziph 10 Geschrieben 16. Oktober 2007 Autor Melden Teilen Geschrieben 16. Oktober 2007 Ich hatte die Zeile mit der Namensvergabe auskommentiert und den Namen des Rechners geändert (Großschreibung, inkl. Domain) in diversen Kombinationen; leider ohne Erfolg. Gibt es noch andere Möglichkeiten, um meinen Gedanken umzusetzen? Gruss Zitieren Link zu diesem Kommentar
IThome 10 Geschrieben 16. Oktober 2007 Melden Teilen Geschrieben 16. Oktober 2007 Hast Du es schon mal mit "rundll32 printui.dll,PrintUIEntry ..." probiert oder muss es unbedingt ein VBS-Script sein ? Zitieren Link zu diesem Kommentar
Deziph 10 Geschrieben 16. Oktober 2007 Autor Melden Teilen Geschrieben 16. Oktober 2007 Es muss nicht unbedingt das Script sein; hauptsache die Drucker werden beim Anmelden des Clients vom selbigen erkannt. Leider kenne ich mich weder mit VB, noch mit dem aus, was du mir vorgeschlagen hast. Hättest du da einen Link, wie das funktioniert? Danke Gruss Zitieren Link zu diesem Kommentar
IThome 10 Geschrieben 16. Oktober 2007 Melden Teilen Geschrieben 16. Oktober 2007 Schau mal hier ... Gruppenrichtlinien - Übersicht, FAQ und Tutorials Zitieren Link zu diesem Kommentar
~~~Dexter~~~ 10 Geschrieben 16. Oktober 2007 Melden Teilen Geschrieben 16. Oktober 2007 @Deziph Kommentiere die Zeilen "On Error Resum Next" aus und lasse dann das Skript laufen. Jetzt müsste das Skript mit einer Fehlermeldung abbrechen. Diese bitte einmal posten. Zitieren Link zu diesem Kommentar
Deziph 10 Geschrieben 16. Oktober 2007 Autor Melden Teilen Geschrieben 16. Oktober 2007 nach dem Auskommentieren von ".., resume next..." kam, beim Ausführen keine Fehlermeldung; der Verlaufs-Log vom Client meldet mir übrigens immer noch, dass er die Datei printer.vbs nicht findet. edit: Ich habe jetzt folgendes herausgefunden: Die Meldung, dass er das Script nicht starten kann, weil er Datei XY nicht findet ist folgender Maßen zu erklären: Ich führte, testeshalber, das Script Printer.vbs auf dem Client selber aus; natürlich funktionierte das nicht. Nun habe ich diese Datei gelöscht, anscheinend möchte er diese aber trotzdem ganz gerne noch starten. Jetzt ist natürlich die Frage, wie ich diesen Eintrag wieder entfernen kann. Die Variante mit "rundll32 printui.dll,PrintUIEntry ..." habe ich ebend auch schon probiert... ebenfalls mit miderem Erfolg. Das kann aber auch sein, dass das Script sich in den Weg stellt. Falls ihr in diesem Bereich Erfahrungen gesammelt habt, freue ich mich über jede Hilfe/jeden Ratschlag. Zitieren Link zu diesem Kommentar
Deziph 10 Geschrieben 17. Oktober 2007 Autor Melden Teilen Geschrieben 17. Oktober 2007 Das nicht-Funktionieren meiner Idee könnte auch damit zu tun haben, dass ich im Umgang mit Scripts, AD, usw. äußerst unerfahren bin, um nicht zu sagen, dass ich dort keine Ahnung habe. Bei der "rundll32 printui.dll,PrintUIEntry ..."-Möglichkeit weiss ich nicht, WO ich das im Active Directory einfügen soll, damit es den dienst erfüllt. Oder muss ich mir daraus ein Script basteln? Auch weiss ich nicht, wie das Scripts auszusehen hat (geschweige denn von der Datei-endung... :( ). Bitte helft mir aber bitte nicht mit dem direkten Verweis an Google; da bin ich schon seit zwei Tagen unterwegs und bin bis jetzt auf nicht (für mich) brauchbares/verständliches gestoßen. Tausend Dank im Vorraus. Gruss Deziph Zitieren Link zu diesem Kommentar
IThome 10 Geschrieben 17. Oktober 2007 Melden Teilen Geschrieben 17. Oktober 2007 Du erstellst Dir eine Datei mit der Endung .CMD. Diese Datei kopierst Du in die NETLOGON-Freigabe des DCs. In diese Batchdatei schreibst Du etwa Folgendes ... rundll32 printui.dll,PrintUIEntry /in /n"\\Server\Drucker" rundll32 printui.dll,PrintUIEntry /y /n"\\Server\Drucker" Die erste Zeile verbindet sich mit der Druckerfreigabe "Drucker" auf dem Server "Server". Die zweite Zeile macht diesen Drucker zum Standarddrucker. Um dieses Script zuzuweisen, kannst Du es als Anmeldscript in Active Directory Benutzer und Computer benutzen (oder den Inhalt des Scriptes an den Inhalt des eventuell schon bestehenden Anmeldescriptes anhängen) oder Du machst es via Gruppenrichtlinie. Dazu erstellst Du Dir eine OU, dort hinein kommen alle Benutzerobjekte, die die Drucker verbinden sollen, die im Script stehen. Dann erzeugst Du Dir ein Richtlinienobjekt und konfigurierst im Benutzerteil ein Anmeldescript (das Script befindet sich in \\<Name des DCS>\NETLOGON\<Name der Datei>.CMD) ... Zitieren Link zu diesem Kommentar
Deziph 10 Geschrieben 17. Oktober 2007 Autor Melden Teilen Geschrieben 17. Oktober 2007 mensch, das erste, kleine Erfolgserlebnis. :) Wenn ich auf dem Client das Script ausführe, nimmt er den Drucker rein; :thumb1: Nur leider funktioniert das ganze nicht beim Login... Ich werde noch ein paar andere Einstellungen ausprobieren und melde mich dann nochmal. Dank und Gruss Deziph Zitieren Link zu diesem Kommentar
Deziph 10 Geschrieben 17. Oktober 2007 Autor Melden Teilen Geschrieben 17. Oktober 2007 Es funktioniert!!! Ich musste zwar noch das ein oder andere einstellen aber jetzt funktioniert es schonmal. Nun probiere ich das noch mit den anderen Druckern aus und wenn das dann klappt, bin ich mehr als zu frieden und dir mehr als dankbar. Gruss Deziph edit: Nach der Hinzuführung weiterer Drucker funktionierte es auch; nur leider, als ich bei Test-Client die Drucker testeshalber aus der Liste gelöscht hatte und anschließend den rechner neu startete, funktionierte die automatische Einbindung nicht mehr. Nach mehreren Versuchen klappte es dann doch, nur ist es irgendwie Zufall, ob es nun klappen möchte oder nicht. Wichtig ist, dass es läuft und das tut es. :) Zitieren Link zu diesem Kommentar
DerKlausi 10 Geschrieben 18. Oktober 2007 Melden Teilen Geschrieben 18. Oktober 2007 Hallo, das mit dem gehen und nicht gehen kenne ich auch. Ich bestimme an bestimmten Rechnern (also abhängig vom clientnamen) den standartdrucker. Dazu verwende ich eine Batch-Datei: if /i %computername% == Client1 goto 1 if /i %computername% == Client2 goto 2 goto end :1 rundll32 printui.dll,PrintUIEntry /y /n \\server\drucker1 goto end :2 rundll32 printui.dll,PrintUIEntry /y /n \\server\drucker2 goto end :end Diese hatte ich per Gruppenrichtlinie eingebunden. Ich musste nun wegen anderen Einstellungen die Asyncrone Abarbeitung der Gruppenrichtlinien deaktivieren. Seit dem funktioniert meine drucker-batch-datei nicht mehr. es kommt ein fehlerfenster mit "Drucker" als titel. Das Script ist beim benutzer eingebunden - ich habe keine ahnung warum es bei syncroner abarbeitung nicht mehr läuft :( Zitieren Link zu diesem Kommentar
Deziph 10 Geschrieben 18. Oktober 2007 Autor Melden Teilen Geschrieben 18. Oktober 2007 es kommt ein fehlerfenster mit "Drucker" als titel. -> :D tolle Fehlermeldung. Das ist wie verhext; bei einem Test klappte es mit der Gruppenrichtline, beim anderen Mal musste ich für den Testbenutzer noch das Startskript angeben. :( Ich werde es einrichten und die Finger weitestgehend von lassen, damit da ja keine Probleme auftreten. Ich habe aber trotzdem ein offenes Ohr (oder in diesem Fall ein offenes Auge) und bin offen für stabile Lösungen. Gruss Deziph Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 18. Oktober 2007 Melden Teilen Geschrieben 18. Oktober 2007 ......Der Client, sowie der Drucker befinden sich in der Domain des Controllers......Befindet sich der Drucker tatsächlich in der Domän, gibt es tasächlich eine Vertrauensstellung? Wie wurde das realisiert? 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.