Microsoft MVPs inside





 MCSEboard.de – IT Pro Forum zu Windows Server 2008 R2 / 2008 / 2003 & Windows 7 / Vista / XP
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

Windows Forum — Scripting


Alles zum Thema System Administration Scripting — Q & A zum Thema Scripting: Batch, VBS, WMI, PowerShell


Antwort
     
Themen-Optionen
Alt 26.12.2011, 10:37   #1
Board Veteran
 
Online
Registriert seit: 08-2007
Beiträge: 672
SBS2003 - Problem mit Login Script

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:
Code:
\\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?
    Mit Zitat antworten
Alt 26.12.2011, 10:44   #2
Moderator
 
Benutzerbild von XP-Fan
 
Offline
Registriert seit: 08-2002
Beiträge: 10.038
Hi,

wenn du Variablen abfragst dann werden diese komplett in % gesetzt.

echo %computername% liefert den aktuellen Computername, echo %computername gibt auch %compuername als Wert aus.

Signatur
Gruß und viel Erfolg !

www.ServerHowTo.de - Das MCSEboard.de HowTo Projekt ist online!

    Mit Zitat antworten
Alt 26.12.2011, 10:50   #3
Expert Member
 
Benutzerbild von lefg
 
Online
Registriert seit: 12-2003
Ort: Lübeck
Beiträge: 14.543
Stimmen die Bedingungen für den Sprung, die Sprünge (noch), wurde da etwas verändert, wirkt das noch?

Wurde das Auführen des Skriptes schon mal beobachtet, Pause(s) eingefügt.

Setze mal ein Pause eine Zeile unter die letzte Sprungbedingung!

Signatur
Das Messbare messen, das Nichtmessbare messbar machen. Galilei.

    Mit Zitat antworten
Alt 26.12.2011, 12:06   #4
Board Veteran
 
Online
Registriert seit: 08-2007
Beiträge: 672
@XP-FAN
Danke, genau das habe ich jetzt gebraucht :-/ Ah Tomaten auf den Augen ....
Aber genau das war es :-)
@lefg:
Leider kann ich das nicht nachvollziehen.
    Mit Zitat antworten
Alt 26.12.2011, 12:08   #5
Moderator
 
Benutzerbild von XP-Fan
 
Offline
Registriert seit: 08-2002
Beiträge: 10.038
Manchmal ist das so ..

Signatur
Gruß und viel Erfolg !

www.ServerHowTo.de - Das MCSEboard.de HowTo Projekt ist online!

    Mit Zitat antworten
Alt 26.12.2011, 13:28   #6
Expert Member
 
Benutzerbild von lefg
 
Online
Registriert seit: 12-2003
Ort: Lübeck
Beiträge: 14.543
Zitat von MrCocktail Beitrag anzeigen
....@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.

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

Signatur
Das Messbare messen, das Nichtmessbare messbar machen. Galilei.

    Mit Zitat antworten
Alt 26.12.2011, 13:58   #7
Board Veteran
 
Online
Registriert seit: 08-2007
Beiträge: 672
@lefg:
Mit ich kann es nicht nachvollziehen, war gemeint, ob etwas geaendert wurde, nicht wie man ein debugging im Script durchfuehrt.

Der Hinweis von XP Fan war goldrichtig, vorne und hinten das Prozentzeichen und es geht, danke dennoch für deine Mühe
    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Login Script R_Mori Windows Server Forum 2 02.10.2006 22:17
FTP Login per Script Dash Windows Server Forum 6 27.09.2006 14:55
Login Script mike_hd Windows Server Forum 10 26.10.2005 21:10
Problem beim Login ins OWA auf SBS2003 Jimmi MS Exchange Forum 0 11.11.2004 09:41
XP - Login Script alefie Windows Forum — LAN & WAN 3 23.02.2004 15:02


Alle Zeitangaben in MEZ/CET. Es ist jetzt 15:20 Uhr. Seite generiert in 0,034 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang