Jump to content

Batch Datei befehl!


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 eine batch datei die ich im internet gefunden habe so umgeändert das sie den gerade angemeldeten user zu den Administratoren hinzufügt!

 

---

 

@echo off

 

 

 

set _Admin_=%COMPUTERNAME%\Administrator

 

set _Group_=Administratoren

 

 

set _User_=%USERDOMAIN%\%USERNAME%

 

if "%1"=="" (

runas /u:%_Admin_% "%~s0 %_User_%"

if ERRORLEVEL 1 echo. && pause

) else (

echo Adding user %* to group %_Group_%...

net localgroup %_Group_% "%*" /ADD

if ERRORLEVEL 1 echo. && pause

echo.

 

 

)

 

 

----

 

 

nun habe ich eine frage dazu:

 

was genau bewirkt:

 

if "%1"==""

 

 

 

 

mfg

 

dinu

Link zu diesem Kommentar

Hallo,

 

es ist möglich Batches mit Parametern zu starten, aufzurufen.

 

Beispiel Batch.bat administrator

 

Der Parameter wird der Batch übergeben und ist bei deren Ablauf verwertbar.

 

Mit echo %1 wird der erste Parameter angezeigt. in diesem Falle administrator. Wird kein Parameter angegeben, ist der Inhalt von %1 leer, bei der Vergleichsoperation wird auf =="" geprüft.

 

Es können regulär die Parameter %1-%9 übergeben werden. Der %0 enthält den Datainamen, damit sind Selbstaufrufe der Batch auch bei wechselden Namen möglich.

 

Ich denke, das war das wesentliche dazu.

 

Gruß

 

Edgar

Link zu diesem Kommentar

HIER MAL MEIN BEISPIEL:

 

@echo off

 

SETLOCAL

 

set _Admin_=%COMPUTERNAME%\Administrator

 

set _Group_=Administratoren

 

set _User_=%USERDOMAIN%\%USERNAME%

 

 

for /f "tokens=*" %%i in ('net localgroup %_Group_% ^| find /I /C "%USERNAME%"') do IF %%i==1 goto WEITER

 

goto ADDUSER

 

:ADDUSER

runas /USER:%_Admin_% "net localgroup %USERNAME% /ADD"

 

goto WEITER

 

:WEITER

:: das Programm welches ausgeführt werden soll

goto ENDE

 

 

:ENDE

EXIT

 

*******

 

das batch kannst du direkt aufrufen ohne übergabeparamter :D

wobei das batch, im allgemeinen, nicht wirklich einen sinn macht ;)

da du ja deinem user admin-rechte zuweisst.

 

sinnvoller wäre es ein prog mit admin-rechten laufen zu lassen, und zwar so:

 

@echo off

 

SETLOCAL

 

set _Admin_=%COMPUTERNAME%\Administrator

 

set _Group_=Administratoren

 

set _User_=%USERDOMAIN%\%USERNAME%

 

set _Prog_= das prog welches ausgeführt werden soll

 

 

for /f "tokens=*" %%i in ('net localgroup %_Group_% ^| find /I /C "%USERNAME%"') do IF %%i==1 goto WEITER

 

goto RUNPROG

 

:RUNPROG

runas /USER:%_Admin_% %_Prog_%

 

goto ENDE

 

:WEITER

%_Prog_%

goto ENDE

 

 

:ENDE

EXIT

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