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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 61620
Url: https://administrator.de/contentid/61620
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
6 Kommentare
Neuester Kommentar
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
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
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:
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]
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]
Hallo,
hat sich mit bastla' Posting erledigt
gruß
hat sich mit bastla' Posting erledigt
gruß