Archiv Server-Windows 15.877 Themen, 54.317 Beiträge

Netzdrucker per Script verbinden dauert zu lange

InvisibleBot / 6 Antworten / Baumansicht Nickles

Hallo,

hab hier das Problem, das ein Netzwerkdrucker über ein Anmeldescript vom Server verbunden wird. Dazu wird das Tool con2prt.exe benutzt. Im Anmeldescript sieht das so aus:

con2prt.exe /f
con2prt.exe /cd \\SERVER\Kyocera

Funktioniert an sich auch einwandfrei, allerdings wird dadurch bei jeder Anmeldung der Drucker zuerst getrennt und anschließend neu installiert. Das dauert auf älteren Clients relativ lange. 

Daher: Gibt es eine Möglichkeit per Script zu prüfen ob ein bestimmter Drucker bereits verbunden ist und auch der Standarddrucker ist?

So dass der Drucker nur dann (neu) installiert wird wenn eine oder beide Bedingungen nicht zutreffen. Bei Netzlaufwerken geht das ja recht einfach über eine Prüfung der Laufwerksbuchstabens mit

IF NOT EXIST X: (net use X: \\SERVER\Daten)

Aber lässt sich sowas auch mit Druckern anstellen?

gelöscht_101060 InvisibleBot „Netzdrucker per Script verbinden dauert zu lange“
Optionen

Servus,

schau mal bitte hier - http://www.administrator.de/forum/batch-oder-script-feststellen-ob-lokaler-drucker-installiert-ist-111705.html - 1. Antwort. Wahrscheinlich muss du erst einmal die Drucker-Einträge aus der Registry auslesen, aber das ist dort gut erklärt.

Ansonsten habe ich aber noch gefunden, dass dies auch mit Windows Bordmitteln via rundll32 geht - schau mal bitte hier: http://www.winfaq.de/faq_html/Content/tip2000/onlinefaq.php?h=tip2028.htm - in den Paramatern gibt es die Möglichkeit einer Prüfung "/u", ob ein Druckertreiber bereits vorhanden ist.....

Auf jeden Fall scheint es nicht so "einfach" wie bei Laufwerken zu sein, aber es sollte gehen - *daumendrück*

BG, Bergi2002

InvisibleBot gelöscht_101060 „Servus, schau mal bitte hier - ...“
Optionen

Hallo Bergi2002,

besten Dank für den Link. Was dort beschrieben wird lässt sich auf mein Problem zwar nicht direkt übertragen, da an einigen Rechnern lokale Drucker für spezielle Anwendungen angeschlossen sind. (z.B. Etikettendrucker) Allerdings hat mich der Link auf eine Idee gebracht, man kann ja abfragen ob ein bestimmter Registryschlüssel vorhanden ist... Daraus hab ich mir folgendes Script gebastelt, was auch grundsätzlich einwandfrei funktioniert:

echo Druckerverbindung pruefen...
echo ---------------------------

reg query "HKEY_CURRENT_USER\Printers\Connections\,,SERVER,Kyocera FS-C5350DN KX" >NUL
if %errorlevel%==0 GOTO OK
if %errorlevel%==1 GOTO INSTALL

:OK
echo Drucker bereits installiert!
goto ENDE

:INSTALL
echo Drucker wird installiert...
con2prt.exe /cd \\SERVER\Kyocera
goto Ende

:ENDE 
echo Fertig!
ping -n 5 127.0.0.1 > NUL
exit

Allerdings kann man so nicht prüfen ob es auch der Standarddrucker ist, falls das mal jemand umstellt wird es beim Anmelden also auch nicht korrigiert.

Daher eine kleine Änderung der Fragestellung: Weiß jemand wo man anhand der Registry sieht welcher der Standarddrucker ist?

gelöscht_101060 InvisibleBot „Hallo Bergi2002, besten Dank für den Link. Was dort ...“
Optionen

Mal so als Denkanstoß - warum packst du nicht unter "echo Drucker bereits installiert" noch
 
rundll32 printui.dll,PrintUIEntry /y /n \PRINTSERVER\DRUCKERNAME

rein (ist hier beschrieben - http://www.wiegehtdas.ch/how-to/standard-drucker-definieren/)?

Dann würde der bereits installiere Drucker automatisch zum Standarddrucker erhoben...

Ist aber nur eine Idee Unentschlossen

BG,

Bergi2002

InvisibleBot gelöscht_101060 „Mal so als Denkanstoß - warum packst du nicht unter echo ...“
Optionen
Ist aber nur eine Idee

Jaja, verarsch mich ruhig, hast schon recht... Lachend

Nein, Spaß beiseite - so gehts natürlich auch, daran hab ich gar nicht gedacht. Ich bin nur immer von dem con2prt.exe ausgegangen und dachte mir warum es da eigentlich keine Prüfoption gibt - sondern nur trennen oder verbinden. 

Besten Dank nochmal, Problem gelöst. Cool

gelöscht_101060 InvisibleBot „Jaja, verarsch mich ruhig, hast schon recht... Nein, Spaß ...“
Optionen

Servus

Jaja, verarsch mich ruhig, hast schon recht... 

War nicht meine Absicht (im Ernst) - ich hatte nur auf der Arbeit keine Möglichkeit, das Script bzw. den Befehl zu testen - deswegen der Hinweis mit "Idee".

BG, Bergi2002

InvisibleBot gelöscht_101060 „Servus War nicht meine Absicht im Ernst - ich hatte nur auf ...“
Optionen

Hey, war doch nur Spaß, hast den Smiley nicht gesehen? >>>>>LachendLachendLachend<<<<< 

Und darunter:

Nein, Spaß beiseite -