Jump to content

Win Server 2003 automatische Druckerzuweisung


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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

Link zu diesem Kommentar

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.

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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) ...

Link zu diesem Kommentar

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. :)

Link zu diesem Kommentar

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 :(

Link zu diesem Kommentar

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

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...