haiby
Goto Top

Druckerreinrichtung für alle User

Wie kann ich für alle User aus einfache Art und Weise einen Netzwerkdrucker anlegen.

Hallo

Ich mache diese Admistrationen noch nicht sehr lange.

Habe jedoch eine kleine Frage.

Wie kann man auf einfache Art und Weise für alles User einen Netzwerkdrucker festlegen ohne mich an jedem PC als User anmelden zu müssen?
Denn die User haben keinen festen Arbeitsplatz, d.h. jeder User muß an jedem PC Arbeiten können. Jedoch mußte ich an jedem Windows 2000 PC für jeden User den gleichen Netzwerkdrucker einrichten.
Das war eine ganz schöne Arbeit. Aber das muß doch auch einfacher gehen. Oder?

Content-Key: 8605

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

Printed on: April 24, 2024 at 19:04 o'clock

Member: fritzo
fritzo Mar 27, 2005 at 16:35:10 (UTC)
Goto Top
Hi,

Wie kann man auf einfache Art und Weise
für alles User einen Netzwerkdrucker
festlegen ohne mich an jedem PC als User
anmelden zu müssen?

Geh hin und verbinde Dich mit der Domänencontroller-Freigabe NETLOGON bzw. geh in den entsprechenden Pfad auf der Platte. In dem als NETLOGON freigegebenen Ordner erstellst Du ein Textfile namens netlogon.cmd.

In dieses Textfile packst Du folgendes:

@echo off
rundll32 printui.dll,PrintUIEntry /in /n "\\Servername\Druckerfreigabe"

..wobei Du natürlich "\\Servername\Druckerfreigabe" durch die Namen des Servers und des Druckers ersetzen mußt.

Weise jetzt den entsprechenden Usern in der Userverwaltung dieses Startscript wie folgt zu: dsa.msc (AD Benutzer und Computer) starten, dann auf einen der Accounts gehen, die Du konfigurieren willst, dort die Eigenschaften aufrufen und unter Profil \Anmeldescript einfach den Namen des Scripts "netlogon.cmd" ohne irgendwas anderes eintragen (Hinweis: wenn schon ein Logonscript existiert, dann füge einfach die og. Zeile dort ein). Bei der nächsten Anmeldung haben Sie den Drucker angebunden.

rundll32 printui.dll,PrintUIEntry /?
listet Dir übrigens alle möglichen Parameter auf.

Grüße,
fritzo
Member: fritzo
fritzo Mar 27, 2005 at 16:41:09 (UTC)
Goto Top
Hi nochmal,

wenn Du das Setzen des Loginscripts nicht manuell machen willst, dann geht es auch mit folgendem, kleinen VBScript:

Option Explicit
Dim UserObj

Set UserObj = GetObject("WinNT://servername/username")
UserObj.LoginScript = "hurgha.cmd"
UserObj.SetInfo
Set UserObj = Nothing

Wobei das natürlich nur für einen User funktioniert, pack also die User entweder in ein Textfile und lies sie daraus ein oder pack sie im Script selbst in ein Array und trigger es darüber an)

Grüße,
fritzo
Member: gemini
gemini Mar 27, 2005 at 20:16:39 (UTC)
Goto Top
...oder verteil das Loginscript über eine Gruppenrichtlinie und spar dir viel Arbeit face-smile
Member: fritzo
fritzo Mar 27, 2005 at 20:35:16 (UTC)
Goto Top
Hi,

da mußt Du wohl etwas weiter ausholen, gemini - erklär mal, wie das geht. TIA

Grüße,
fritzo
Member: gemini
gemini Mar 27, 2005 at 20:59:07 (UTC)
Goto Top
da mußt Du wohl etwas weiter ausholen,
gemini - erklär mal, wie das geht. TIA
Das will ich gerne tun, fritzo

Benutzerkonfiguration > Windows-Einstellungen > Skripts (Anmelden/Abmelden) > Anmelden
~~~~~~~~~~~~~~~~~~~~~~
'Printer.vbs  
Option Explicit
On Error Resume Next
Dim WSHNetwork, PrintSRV
PrintSRV = "Printserver"  
Set WshNetwork = Wscript.CreateObject("WScript.Network")  
WshNetwork.RemovePrinterConnection "Drucker"  
WshNetwork.AddWindowsPrinterConnection "\\" & PrintSRV & "\Drucker"  
WshNetwork.SetDefaultPrinter "\\" & PrintSRV & "\Drucker"  
Set WshNetwork = Nothing
PrintSRV = ""  
~~~~~~~~~~~~~~~~~~~~~~
Das ganze der entspr. OU zugeordnet, ...funktioniert 'wie Sau'

Mir ist natürlich klar, dass man das auch mit der printui oder net use machen kann.
Member: fritzo
fritzo Mar 27, 2005 at 21:09:21 (UTC)
Goto Top
Hi,

ach das meinst Du. Stimmt, das ist noch einfacher. Hab ich noch nie gemacht, aber werde ich mir für die nächste Änderung fest vornehmen.

...funktioniert 'wie Sau'

Ich übersetze das mal für die weniger grobschlächtigen Gemüter: 'gut' face-wink

auch mit der printui oder net use machen kann.

Klar, ob Du es jetzt über Batch oder VBScript machst, bleibt sich gleich - es sei denn, Du hast zB noch NT4-Rechner ohne WSH - da bist Du gezwungen, Batches zu verwenden. Aber wer hat die heute schon noch.. *grins*

Grüße,
fritzo
Member: Samtpfote
Samtpfote Mar 27, 2005 at 21:41:58 (UTC)
Goto Top
Formschöner Thread... das muß man Euch wirklich lassen....

am tollsten fand ich natürlich hurgha.cmd... face-wink
Member: fritzo
fritzo Mar 27, 2005 at 23:11:04 (UTC)
Goto Top
X-) mist, ich habe vergessen, den Namen zu ändern.
Member: Hindin
Hindin Mar 28, 2005 at 09:04:43 (UTC)
Goto Top
Hallo,

ich habe noch eine kleine Frage, bei den Netzlaufwerken prüfe ich ob schon eines besteht, wenn ja lösche ich es und dann verbinde ich es wieder, falls ein User auf Laufwerk h: ein anders Laufwerk hat wie ich will. Daher nun meine Frage, muss ich den Drucker nicht am Anfang überprüfen ob er schon eingerichtet ist, dann löschen und dann wieder mit "rundll32 printui.dll,PrintUIEntry bla bla bla" hinzufügen? Oder ist das egal, was macht das script wenn der Drucker schon existiert?

Gruß Daniel
Member: fritzo
fritzo Mar 28, 2005 at 17:50:57 (UTC)
Goto Top
Hallo,

bei mir funktioniert es ohne vorheriges Abbinden. Wenn der Drucker bereits vorhanden ist, ändert sich nichts.

Grüße,
fritzo
Member: gemini
gemini Mar 28, 2005 at 18:00:09 (UTC)
Goto Top
Warum löscht du die Druckerverbindungen nicht generell und baust sie wieder auf?

Der Hintergrund ist; wenn in den Einstellungen auf dem Printserver etwas geändert wird, bspw. am Papierformat, wird es ohne Neuaufbau der Connection nicht auf die Clients verteilt.
Member: fritzo
fritzo Mar 28, 2005 at 19:29:44 (UTC)
Goto Top
@gemini - bei welchen Systemen bzw. in welchen Fällen ist das so?

Hab mal eben mal testweise bei mir auf dem Server (W2K3) die Standardwerte für das Papier geändert, wenn ich jetzt auf einer Workstation (XP Pro SP2) die Druckereigenschaften aufrufe, ist der Wert aber bereits korrekt abgeändert..
Member: gemini
gemini Mar 28, 2005 at 19:38:20 (UTC)
Goto Top
Bei mir war es so. In der alten Umgebung Win2000SRV, XP SP1

Wie es beim neuen 2003 wäre kann ich nicht sagen, weil ich alle Drucker vorher trenne und dann abhängig von location und UserName neu vebinde und den Standarddrucker zuweise.
Member: fritzo
fritzo Mar 28, 2005 at 19:57:00 (UTC)
Goto Top
Hm.. das tritt anscheinend unter w2k3 nicht auf, jedenfalls hier nicht. Die Änderungen werden anscheinend gepusht oder vom Drucker beim Abfragen der Eigenschaften gepullt.

Wie es beim neuen 2003 wäre kann ich nicht sagen, weil ich alle Drucker vorher
trenne und dann abhängig von location und UserName neu vebinde und den
Standarddrucker zuweise.

Habe das Trennen und Standarddrucker-Setzen mit printui.dll versucht, aber es funktioniert nicht, ich erhalte eine Fehlermeldung, daß es den Drucker nicht geben würde (ich verwende den selben Namen wie beim Anbinden, das ja funktioniert). Ich werd mal Dein Script probieren, sieht ja recht einfach aus. Möglicher Nachteil - zB "SetDefaultPrinter" funktioniert nur ab XP, right?
Member: gemini
gemini Mar 28, 2005 at 20:18:20 (UTC)
Goto Top
Das Script oben ist ein Ausschnitt aus meinem Loginscript.
Zuerst werden alle Drucker getrennt, dann wieder verbunden und der Standard gesetzt.

Die printui hab ich noch nie eingesetzt.
Con2Prt.exe /f löscht auch Druckerverbindungen
Member: fritzo
fritzo Mar 28, 2005 at 20:22:30 (UTC)
Goto Top
Hi,

hab hier eben noch eine andere, ziemlich einfache Lösung gefunden - das Dosbox-Programm CON2PRT aus dem Zero-Administration-Kit . Eben getestet und es funktioniert auch unter XP sehr gut. Version bei mir ist 5.00.2128.1

Syntax:

CON2PRT: Lets the user disconnect all existing connections to Windows NT
printers and connect to newly specified Windows NT printers.

Usage: CON2PRT [ /? | /h | /f |
[/c \\printserver\share | /cd \\printserver\share]+]
where:

/? - displays usage.
/h - displays usage.
/f - deletes all existing printer connections.
/c - connects to \\printserver\share printer.
/cd - connects to \\printserver\share printer and sets it as the default
printer.

NOTE: /?, /h can only be the first parameter and if specified further
interpretation of the command line is stopped. /f can also only
be the first parameter, however it doesn't stop further
interpretation of the command line. Any number of /c and /cd
parameters can be specified however only the first /cd sets the
printer specified as the default.

Hint: Use --Net View \\printserver-- to determine available print shares.


Grüße,
fritzo
Member: fritzo
fritzo Mar 28, 2005 at 20:36:03 (UTC)
Goto Top
Hier noch ein Freeware-Tool für die Kommandozeile, das mir bisher am besten gefällt: AdPrintX. Die Syntax ist kompatibel mit der von con2prt, darüber hinaus lassen sich aber zB Drucker gezielt trennen und anderes mehr. Test unter XP erfolgreich, andere Systeme sind wohl auch kompatibel.

Syntax

ADPRINTX: Manages network printer connections on Windows 9x/NT/2000/XP

v1.00.000 2002-04-24
James Hart (watermarkdesign@bigpond.com)

USAGE: [ /? | /h | /l | /v | /f | [/r "\\server\printer" ] |
[/c "\\server\printer" | /cd "\\server\printer"
/p "Printer Name" | /n "Driver Model"
[ /t "datatype" = "EMF" ] /s "driverpath\filename" ] ]
where:
/? or /h - help
/l - list all installed and connected printers
/v - verbose operation (displays messages)
/c or /cd - unc of network printer (e.g. "\\server\printer")
/p - printer name (e.g. "MyPrinter (MyServer)" *
/n - driver name (e.g. "Canon LBP-8 III") *
/s - driver path (e.g. "c:\windows\system\canonlbp.drv") *
/t - datatype (e.g. "RAW" - default is "EMF") *
/d or /cd - make printer the default (e.g. "\\server\printer")
/r - remove network printer connection (e.g. "\\server\printer")
/f - remove all network printer connection

              • used by Win9x only
              Press "x" to get extended information or any other key to continue...


              Grüße,
              fritzo
Member: fritzo
fritzo Mar 28, 2005 at 20:49:05 (UTC)
Goto Top
Hier noch eine kleine Auflistung von Drucker-Tools und -Scripts::

PRINT - Textfile drucken
NET VIEW - Liste von Shares und Netzdruckern auflisten
NET PRINT - Printjobs ansehen und löschen
PRNCNFG - Drucker anzeigen, konfigurieren und umbenennen
PRNDRVR - Druckertreiber hinzufügen, löschen oder anzeigen
PRNJOBS - Printjobs auflisten, löschen, stoppen oder fortsetzen
PRNMNGR - Listen, Hinzufügen und Löschen von Printern, Standarddrucker setzen
PRNPORT - Erstellen, Bearbeiten und Löschen von TCP/IP-Printerports
PRNQCTL - Testseiten drucken, Stoppen und Fortsetzen von Druckern, Queues löschen
RUNDLL32 - Installieren und Löschen von Druckern
WMIC PRINTER - Druckeroptionen per WMI über die Dosbox setzen

Quelle: http://www.ss64.com

KB-Artikel

Q189105 - Add Printers with No User Interaction (Win 2000)
Q314486 - Add Printers with No User Interaction (Win XP)

@gemini - sollen wir nicht zusammen ein Tutorial über dieses Thema schreiben?
Member: fritzo
fritzo Mar 28, 2005 at 20:56:40 (UTC)
Goto Top
Con2Prt.exe /f löscht auch
Druckerverbindungen

@gemini - fast zeitgleich ;) Hättest Du Lust, gemeinsam ein Tutorial zu erstellen? Material hätten wir ja anscheinend genug.
Member: fritzo
fritzo Apr 25, 2005 at 16:52:47 (UTC)
Goto Top
::Aktualisierte Auflistung von Drucker-Tools und -Scripts, Stand 25.04.2005::

Clean.vbs - Alle Druckerobjekte löschen (Forms, Treiber, Drucker und Ports)
Clone.vbs - Windows 2000 Printserver klonen
Conall.vbs - Druckerverbindungen zu allen Druckern auf dem angegebenen Server herstellen
Defprn.vbs - Den Standarddrucker des angemeldeten Users setzen oder ausgeben
Drvmgr.vbs - Einen Treiber hinzufügen
Forms.vbs - Forms erstellen und hinzufügen oder auflisten
Persist.vbs - Druckereinstellungen in ein File sichern oder von einem File wiederherstellen
Portconv.vbs - TCP-Port hinzufügen
- TCP-Ports auf einem Zielserver für alle LPR-Monitore auf einem anderen anlegen
Portmgr.vbs - Ports hinzufügen, löschen, auflisten / die Portkonfiguration listen oder setzen
PRINT - Textfile drucken
NET VIEW - Liste von Shares und Netzdruckern auflisten
NET PRINT - Printjobs ansehen und löschen
Prnadmin.dll -
Prncfg.vbs -
prndata.vbs - Lesen oder schreiben vom oder in den Regkey des angegebenen Druckers
PRNCNFG - Drucker anzeigen, konfigurieren und umbenennen
Prnctrl.vbs - Drucker steuern
PRNDRVR - Druckertreiber hinzufügen, löschen oder anzeigen
PRNJOBS - Printjobs auflisten, löschen, stoppen oder fortsetzen
Prnmgr.vbs -
PRNMNGR - Listen, Hinzufügen und Löschen von Printern, Standarddrucker setzen
PRNPORT - Erstellen, Bearbeiten und Löschen von TCP/IP-Printerports
PRNQCTL - Testseiten drucken, Stoppen und Fortsetzen von Druckern, Queues löschen
RUNDLL32 - Installieren und Löschen von Druckern
WMIC PRINTER - Druckeroptionen per WMI über die Dosbox setzen
</blockquote>

KB-Artikel

Q189105 - Add Printers with No User Interaction (Win 2000)
Q314486 - Add Printers with No User Interaction (Win XP)


Grüße,
fritzo
Member: fritzo
fritzo Apr 25, 2005 at 17:03:24 (UTC)
Goto Top
Hi,

mal eine wahrscheinlich merkwürdig anmutende Frage - habt Ihr schon einmal versucht, die Rechte auf einer Printqueue per Script zu setzen oder zu ändern? Hat es geklappt? Mit Boardmitteln? Oder Scripts? Falls ja, dann sagt mir bitte unbedingt Bescheid , welches Tool verwendet wurde, vielen Dank im voraus.

Ich selbst habe mir ein bißchen die Augen blutig gesucht. Lustigerweise gibt es einige ältere Tools, bei denen das wohl unter NT4 noch funktioniert hat (SubInAcl und RMTShare zum Beispiel), aber unter Windows 2000 oder 2003 habe ich nichts gefunden, mit dem sich Printer Permissions setzen liessen. Eigentlich sollte man meinen, daß es genau wie bei einem Share funktioniert, tut es aber nicht.

Und dann habe ich das hier gefunden und bin sehr davon begeistert:
http://setacl.sourceforge.net

Es ist das einzige Tool, das ich kenne, mit dem sich Berechtigungen auf Druckern setzen lassen. Darüber hinaus kann es Rechte auf so ziemlich jedem Objekt in einer Domäne setzen.

Grüße,
fritzo