Jump to content

Drucker per Logon-Script (Batch) mappen


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

Empfohlene Beiträge

Hallo,

 

habe folgendes Problem:

 

Ich mappe die Drucker pro Abteilung per Logon-Script .CMD (Server: w2k3, Clients XP: 2000, NT), das im Druckerausschnitt wie folgt aussieht:

 

 

-----------------------------------------------------------------------------------

REM *** " Drucker werden gemappt" ***

 

rundll32 printui.dll,PrintUIEntry /in /n \\DWS1\ODV_1120

rundll32 printui.dll,PrintUIEntry /in /n \\DWS1\ODV_KFM1

rundll32 printui.dll,PrintUIEntry /in /n \\DWS1\ODV_LexE232

rundll32 printui.dll,PrintUIEntry /in /n \\DWS1\ODV_HP700

 

 

 

 

REM *** "Standard Drucker" ***

 

rundll32 printui.dll,PrintUIEntry /y /n \\DWS1\ODV_1120

 

-----------------------------------------------------------------------------------

 

Leider beschweren sich immer wieder die User, dass nach einem Reboot die Drucker allesammt wieder gemappt werden, das dauert unter Umständen in eingen Abteilungen mit vielen Druckern ein "bissel".

 

Ich habe mir jetzt überlegt ob man da nicht ne "IF" Abfrage mit machen kann? Also so ne Art :

 

"IF PRINTER \\DWS1\ODV_1120 EXIST GOTO IRGENDWAS"

 

Leider bin ich wirklich nicht der Batch oder Script Guru und das Googel spuckt auch nix aus, aber evtl. hat ja hier jemand ne Lösung.

 

Wäre echt Dankbar,

 

Gruss Duff

Link zu diesem Kommentar

Hi,

 

habe gerade heute etwas ähnliches geschrieben, mit kixtart (http://www.kixtart.org).

 

Er prüft eine Workstation auf deren Namen und fügt dann einen entsprechenden Drucker ein und löscht einen anderen. Haben wir so gemacht, da wir unseren jetzigen printserver umbenennen und nicht auf allen Workstations die Pfade manuell ändern wollen.

Hier ein kleiner Ausschnitt aus dem Quellcode:

 

If @WKSTA = "hg3wk2kbecks" OR @WKSTA = "hg3wk2kfsand"

If AddPrinterConnection ("\\srvprinter\hpdj9650dev") = 0

? "Neuer Druckerpfad HP Deskjet 9650 wurde hinzugefügt..."

If SetDefaultPrinter ("\\srvprinter\hpdj9650dev") = 0

? "Der Standarddrucker wurde gesetzt..."

Endif

Endif

If DelPrinterConnection ("\\srvdata\hpdj9650dev") = 0

? "Alter Druckerpfad HP Deskjet 9650 wurde gelöscht..."

Endif

Endif

 

Wenn du noch Fragen hast, schreib einfach...

 

Gruß,

Whitewater

Link zu diesem Kommentar

hi whitewater,

 

thx für deine antwort. ich werde mir das tool mal anschauen.

 

aber mein problem löst dein script ja nicht. soweit ich das nachvollziehen kann installiertst du mit dem script die neuen drucker und deinstallierst die alten drucker - das funzt mit meinem script auch. aber ich will nur dann den drucker installieren, wenn er noch nicht vorhanden ist.

 

ich habe mir schon überlegt wie ich evtl. registrywerte in dem batch abfragen kann - das geht aber scheinbar nur mit XP (reg.exe /?) - nicht aber mit 2000 und NT

 

naja - danke trotzdem. evtl gibt ja das tool was her was mit noch gefehlt hat.

 

 

gruss duff

Link zu diesem Kommentar

hi,

 

habe mein Problem gelöst :D

 

nach etwas 'rumprobieren mit der Registry habe ich folgende Löung für mein Problem gefunden:

 

Ich habe die Datei "reg.exe" (Version 3.0) aus Windows XP in das "Netlogon" Verzeichnis eines Active-directory Domain Controllers kopiert, und folgende Zeilen in das Anmelde-Script geschrieben:

 

 

 

 

-----------------------------------------------------------------------------------

 

echo *** " Registry wird abgefragt und Drucker werden gemappt" ***

 

%logonserver%\netlogon\reg.exe query HKEY_CURRENT_USER\Printers\Connections\,,DWS1,ODV_1120

if errorlevel 1 rundll32 printui.dll,PrintUIEntry /in /n \\DWS1\ODV_1120

 

%logonserver%\netlogon\reg.exe query HKEY_CURRENT_USER\Printers\Connections\,,DWS1,ODV_KFM1

if errorlevel 1 rundll32 printui.dll,PrintUIEntry /in /n \\DWS1\ODV_KFM1

 

%logonserver%\netlogon\reg.exe query HKEY_CURRENT_USER\Printers\Connections\,,DWS1,ODV_LexE232

if errorlevel 1 rundll32 printui.dll,PrintUIEntry /in /n \\DWS1\ODV_LexE232

 

%logonserver%\netlogon\reg.exe query HKEY_CURRENT_USER\Printers\Connections\,,DWS1,ODV_HP700

if errorlevel 1 rundll32 printui.dll,PrintUIEntry /in /n \\DWS1\ODV_HP700

 

 

 

 

echo *** "Standard Drucker" ***

 

rundll32 printui.dll,PrintUIEntry /y /n \\DWS1\ODV_1120

 

------------------------------------------------------------------------------------

 

 

 

 

Das Programm "reg.exe" ist standrad mässig nur bei XP dabei, läuft aber auch unter 2000 und NT. Auch der Registry Pfad zu den Druckern ist gleich. Dadurch kann man das relativ flächendeckend nutzen.

"Reg.exe" gibts auch im Ressource Kit für NT4.0 - scheint aber ein ältere Version zu sein.

 

Wenn der Drucker schon gemappt ist, was ich über die ERrorlevel aus dem Prog "reg.exe" bekomme, überspringt er einfach den mapping Befehl. Wenn nicht zieht der mapping Befehl. Klappt Super!! :p

 

 

Ich setze wenn möglich eben gerne Boardmittel bzw. MS-Tools ein - Trotzdem Danke für den Tip mit Kixtart! :)

 

 

Gruss Duff

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