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-ID: 71023

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

Ausgedruckt am: 20.11.2024 um 08:11 Uhr

TuXHunt3R
TuXHunt3R 16.10.2007 um 09:08:59 Uhr
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.
Blackflip
Blackflip 16.10.2007 um 13:12:41 Uhr
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
Blackflip
Blackflip 19.10.2007 um 11:01:49 Uhr
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