Jump to content

SBS2003 - Problem mit Login Script


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

Empfohlene Beiträge

Ich habe ein kleines Problem mit einem Login Script, ja nach Rechner sollen die entsprechenden Drucker gemappt werden, die Auswahl per IF und computername funktioniert aber leider nicht (mehr?).

 

Das Script sieht wie folgt aus:

\\SERVER\Clients\Setup\setup.exe /s SERVER
if /i %computername==server GOTO END

rem ** Alle Netzlaufwerke der Clients werden geloescht **
net use * /delete /y

rem **  Mapping der Laufwerke, die allen zur Verfuegung stehen **
net use f: \\192.168.6.2\server_daten
net use Y: \\192.168.6.2\Daten
rem ** Netzlaufwerke hinzufuegen

if /i %computername==server GOTO END

rem **  Alle Netzwerkdrucker der Clients werden geloescht **
\\Server\Server_Daten\con2prt.exe /f

rem ** Der Hauptdrucker wird auf allen Clients hinzugefuegt **
rundll32 printui.dll,PrintUIEntry /in /n \\server\Drucker1


rem ** Sprung zu den Clients und Zuweisung der benoetigten Drucker**
if /i "%computername"=="PC1" goto PC1
if /i "%computername"=="PC2" Goto PC2
if /i "%computername"=="PC3" Goto END

:PC1
rundll32 printui.dll,PrintUIEntry /in /n \\server\Drucker2
rundll32 printui.dll,PrintUIEntry /in /n \\server\A3
GOTO END

:PC2
rundll32 printui.dll,PrintUIEntry /in /n \\server\Drucker3
rundll32 printui.dll,PrintUIEntry /in /n \\server\A3
GOTO END

:END
rem ** Der default Drucker wird gesetzt **
\\Server\Server_Daten\con2prt.exe /cd "\\Server\Drucker1"

 

Es wird immer der PC1 abgearbeitet und dann erfolgt der Sprung an das Ende. Jemand eine Idee?

Link zu diesem Kommentar
....@lefg:

Leider kann ich das nicht nachvollziehen.

 

Solch ein Programm testet man sozusagen schritt-, abschnitts-, blockweise, setzt dafür Unterbrechungen, Pausen ein, der Befehl dafür heisst Pause.

 

Um zu Prüfen, ob überhaupt eine Bedingung zutrifft, was in der Variablen steht, es zu einem Sprung kommt, ein Pause des Blocks oder hinter die Vergleichsoperation.

 

rem ** Sprung zu den Clients und Zuweisung der benoetigten Drucker**
if /i "%computername"=="PC1" Pause
if /i "%computername"=="PC2" Goto PC2
if /i "%computername"=="PC3" Goto END
Pause

 

Gehört die Variable überhaupt in Anführungszeichen? Ich meine nein, nur der Vergleichsstring wird darin gefasst, anstelle von == verwendet man equ; schaue dir mal if /? an oder die Hilfe dazu.

 

Bei einem schweren Syntaxfehler beendet der der Komandoprozessor die Batch ohne warnung und Erklärung.

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