tommaverick
Goto Top

(BATCH) Präfix aus einem USERNAME auslesen

Hallo zusammen,

ich versuche mich seit 2 Tagen an einem kleinen Batch Script, das automatisch meine Netzlaufwerke den Usern zuordnet.
Bei den normalen Accounts funktioniert das prima mit %USERNAME%.

Allerdings haben wir zum Teil extra Admin Accounts die den Präfix "ADM_" vor dem normalen Usernamen haben.
Also z.B. Standarduser: "MaverickTom" Adminuser: "ADM_MaverickTom"

Ich möchte das diesem "ADM_MaverickTom" das persönliche Laufwerk von "MaverickTom" zugewiesen wird.

Warscheinlich ist es total einfach, aber da ich erst seit 2 Tagen mit Batch rumexperimentiere seh ich die Antwort nicht...
Folgendermaße habe ich es probiert, aber es will irgendwie nicht so recht funktionieren.

Nicht wundern das zwischen allem Sprungmarken gesetzt sind. Ich habe die relevanten Teile zusammen kopiert und den (funktionierenden) Rest rausgelassen.
Hier der Auszug aus dem relevanten Pfad meiner Batch:

<code type="plain>

REM Check ob der User ein ADM_ User ist
if %USERNAME% == ADM_* GOTO ADMINADM


REM Variable CheckAdmin wurde auf ADM gesetzt
:ADMINADM
set CheckAdmin=ADM
GOTO ADMINADMTRUE


REM Echo gibt die Anzeige "Administrator: ADM" aus (in unserem System gibt es auch noch einen lokalen Administrator, deswegen noch die Anzeige)
:ADMINADMTRUE
echo Administrator: %CheckAdmin%


REM Hier sind noch andere Codezeilen zwischen, die aber nichts mit dem Problem zu tun haben und normal funktionieren


REM Laufwekszuordnung beginnt, aber der Username muss noch umgeformt werden (ADM_MaverickTom --> MaverickTom)
if %CheckAdmin% == ADM GOTO ADMUSER


REM Hier hab ich versucht den über %Username% geladenen Namen ab der 5. Stelle in die Variable ADMUSER zu packen und ihm dann mit der Variable das Laufwerk zuzuweisen.
:ADMUSER
set ADMUSER=%USERNAME:~5%
echo Laufwerk U: (HOME\%ADMUSER%) wird eingerichtet...
net use U: \\file1\home\%ADMUSER% > NUL
sleep 1
GOTO ADMUSERTRUE


REM Ab hier funktioniert der Code wieder...


Laut Kommandozeile erkennt er am Anfang das "if %USERNAME% == ADM_* GOTO ADMINADM" schon nicht und gibt dort das "No Admin" aus welches ich für die nicht Admin-Accs so ausgeben will.

Kann mir jemand dabei helfen?


Viele Grüße
Tom

Content-Key: 309087

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

Ausgedruckt am: 19.03.2024 um 02:03 Uhr

Mitglied: 129813
129813 06.07.2016 um 13:24:33 Uhr
Goto Top
if /i "%USERNAME:~0,4%" == "ADM_" GOTO ADMINADM   
Regards