errator
Goto Top

Batch Sprungmarke geht nicht

Hallo,

ich lasse per GPO beim Anmelden am Server folgende batch ausführen:


[code]
net use I: \\fileserver\abteilung$\alle
net use Z: \\scannerpc\fax
net use N: \\fileserver\abteilung$\qm-um
net time \setsntp:192.168.19.254


if %username% == mario.luft GOTO ML
if %username% == olaf.lehmann GOTO OL
if %username% == kathrin.listing GOTO KL
if %username% == kerstin.herfurth GOTO KH
if %username% == anke.kitze GOTO AK

:ML
net use G: \\192.162.1.8\share$
net use P: \\fileserver\startcenter


:OL
net use G: \\192.162.1.8\share$
net use P: \\fileserver\startcenter
net use S: \\fileserver\abteilung$\technik

:KL
net use G: \\192.162.1.8\share$
net use P: \\fileserver\startcenter

:KH
net use G: \\192.162.1.8\share$
net use P: \\fileserver\startcenter

:AK
net use G: \\192.162.1.8\share$
net use P: \\fileserver\startcenter

*Namen exemplarisch*
[/code]


Nun habe ich das Problem, dass egal wer sich anmeldet (also kein User der hier aufgeführt wird. Immer die Laufwerke vom ersten Sprungbefehl (ML) verbunden bekommt.

Ich weiss leider nicht wo der Fehler ist.

mfg

Mario

Content-ID: 61620

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

Ausgedruckt am: 22.11.2024 um 15:11 Uhr

Notavailable
Notavailable 18.06.2007 um 10:35:36 Uhr
Goto Top
Hi!

AFAIK werden die Einsprungpunkte sowieso abgearbeitet. D.h. Er passiert deine if's, und wenn keine davon zutrifft, geht er an die einzelnen Abschnitte.
Mach einfach ein
goto END
nach die if's und ein
:END
ganz ans Ende.
Damit bekommt jemand, auf den das nicht zutrifft, gar nix aus dem unteren Abschnitt.
Eine alternative wäre ein CASE Schalter.

HTH
bastla
bastla 18.06.2007 um 10:41:11 Uhr
Goto Top
Hallo Errator!

Eine mögliche Fehlerquelle wäre die Groß-/Kleinschreibung der Usernamen, daher besser "if /i" verwenden. Abgesehen davon sollte nach jedem Block ein Sprung über die restlichen Blöcke hinweg vorgesehen werden, also etwa so:
net use I: \\fileserver\abteilung$\alle
net use Z: \\scannerpc\fax
net use N: \\fileserver\abteilung$\qm-um
net time \setsntp:192.168.19.254

if /i "%username%"=="mario.luft" GOTO :ML  
if /i "%username%"=="olaf.lehmann" GOTO :OL  
if /i "%username%"=="kathrin.listing" GOTO :KL  
if /i "%username%"=="kerstin.herfurth" GOTO :KH  
if /i "%username%"=="anke.kitze" GOTO :AK  
goto :eof

:ML
net use G: \\192.162.1.8\share$
net use P: \\fileserver\startcenter
goto :Weiter

:OL
net use G: \\192.162.1.8\share$
net use P: \\fileserver\startcenter
net use S: \\fileserver\abteilung$\technik
goto :Weiter


:KL
net use G: \\192.162.1.8\share$
net use P: \\fileserver\startcenter
goto :Weiter


:KH
net use G: \\192.162.1.8\share$
net use P: \\fileserver\startcenter
goto :Weiter

:AK
net use G: \\192.162.1.8\share$
net use P: \\fileserver\startcenter
goto :Weiter

:Weiter
::oder auch Ende

Grüße
bastla

P.S.: Beim Posten von Code "<" statt "[" zur Kennzeichnung verwenden ...

[Edit] Die von Notavailable erwähnte Möglichkeit, dass kein Benutzername zutrifft, sollte vielleicht etwas ausführlicher als in unseren beiden Vorschlägen (einfach Batch beenden) behandelt werden. [/Edit]
Errator
Errator 18.06.2007 um 10:45:58 Uhr
Goto Top
Danke für die Hinweise.

@bastla

Was bewirkt das "/i"?
bastla
bastla 18.06.2007 um 10:49:07 Uhr
Goto Top
Hallo Errator!

Versuch einmal "if /?" (wird dort allerdings "/I" geschrieben - ist in dem Fall aber egal face-wink) ...

Grüße
bastla
36539
36539 18.06.2007 um 10:49:40 Uhr
Goto Top
Hallo,
hat sich mit bastla' Posting erledigt face-wink

gruß
Errator
Errator 18.06.2007 um 10:57:04 Uhr
Goto Top
Danke. Thema erledigt. Problem gelöst.