blackflip
Goto Top

Netzwerkdruckerscript bringt Fehler beim verbinden

Ich hab ein Netzwerkdruckerscript geschrieben, wenn die Drucker an sind gibt es damit kein problem. Aber soweit die Drucker aus sind Bekomme ich eine Fehlermeldung, das die Verbindung gescheitert ist.

Kann man das Unterdrücken? Da viele User Schreihend ankommt, das da ein Fehler aufgetreten ist.

Funktionsweise des Scripts, es wird die Regestrie durchgesucht ob der drucker schon vorhanden ist, wenn nicht wird der drucker eingerichtet.


Hier das Script in vereinfachter Form:
reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices" >> "C:\Dokumente und Einstellungen\%username%\drucker.txt"  

find /I "\\4108-04\4102-03-HP-swLaserjet" "C:\Dokumente und Einstellungen\%username%\drucker.txt"  
IF NOT %ERRORLEVEL% == 0 rundll32 printui.dll,PrintUIEntry /q /in /n "\\4108-04\4102-03-HP-swLaserjet" /q  

find /I "\\4108-04\4201-01 PS" "C:\Dokumente und Einstellungen\%username%\drucker.txt"  
IF NOT %ERRORLEVEL% == 0 rundll32 printui.dll,PrintUIEntry /q /in /n "\\4108-04\4201-01 PS" /q  

find /I "\\4108-04\4201-01 PCL5" "C:\Dokumente und Einstellungen\%username%\drucker.txt"  
IF NOT %ERRORLEVEL% == 0 rundll32 printui.dll,PrintUIEntry /q /in /n "\\4108-04\4201-01 PCL5" /q  

find /I "\\4108-04\4102-02-HP-Deskjet" "C:\Dokumente und Einstellungen\%username%\drucker.txt"  
IF NOT %ERRORLEVEL% == 0 rundll32 printui.dll,PrintUIEntry /q /in /n "\\4108-04\4102-02-HP-Deskjet" /q  

find /I "\\4108-04\4102-01-HP-Laserjet" "C:\Dokumente und Einstellungen\%username%\drucker.txt"  
IF NOT %ERRORLEVEL% == 0 rundll32 printui.dll,PrintUIEntry /q /in /n "\\4108-04\4102-01-HP-Laserjet" /q  

rundll32 printui.dll,PrintUIEntry /y /n "\\4108-04\4102-03-HP-swLaserjet"  

del "C:\Dokumente und Einstellungen\%username%\drucker.txt"  

edit: Heut ist das erste mal wo der Fehler auch bei angeschalteten drucker kommt, ich werde nachher noch ein screen Nachgeben.

Nachgereicht des Screens:
eb266a6c6e737a318dc84037789889be-kqiuamdxsn81dpe
[Edit: Dani - 16.10.2007 10:58]
Screenshot vom ext. Link in den Beitrag hochgeladen.

Content-Key: 71023

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

Printed on: April 25, 2024 at 20:04 o'clock

Member: TuXHunt3R
TuXHunt3R Oct 16, 2007 at 07:08:59 (UTC)
Goto Top
Mann, machst du das kompliziert! Ich persönlich mache das Ganze mit dem Tool con2prt aus dem Windows 2000 Resource Kit, welches ich im Netlogon-Share des Domänencontrollers abgelegt habe.


Wenn du dein Script hier behalten willst, versuchs mal mit einer anderen Schreibweise bei der Errorlevel-Abfrage.

Z.B. so:

IF NOT "%ERRORLEVEL%"=="0"  

oder so:

if not errorlevel 0

Theoretisch sollten beide Abfragen funktionieren, ich habe es aber schon häufig erlebt, dass die eine Abfrage funktioniert und die andere nicht.


Aber allgemein eine Empfehlung:
Schreib ein neues Script mithilfe des Tools con2prt. Es ist viel einfacher und effektiver als mit diesem printui.dll-Teil.
Member: Blackflip
Blackflip Oct 16, 2007 at 11:12:41 (UTC)
Goto Top
Leider ist das mir nicht möglich und nicht von unseren Administrator erwünscht. Danke ich werd deine Sachen einmal Probieren =)

edit: Bitte screenshot löschen
Member: Blackflip
Blackflip Oct 19, 2007 at 09:01:49 (UTC)
Goto Top
Also an das If liegt es nicht, das funktioniert einwandfrei Es liegt an der Zeile

rundll32 printui.dll,PrintUIEntry /y /n "\\4108-04\4102-03-HP-swLaserjet"

Ich hab herausgefunden das dieses Problem nur beim ersten Anmelden nach den Computerstart passiert, danach kommt keine Fehlermeldung mehr

vllt hilft das mehr