Autor Zpráva
TrueFriend
Profil
Zdravím. Chtěl bych se zeptat, jestli by mi někdo neporadil jak spustit příkazy v tomto BAT scriptu jako jiný uživatel.
(script je na testování, zdali přihlášený uživatel je administrátor, nebo uživatel s omezenými právy).
@echo OFF
CLS

set admin=N
set domain=%USERDOMAIN%\
If /i "%domain%" EQU "%computername%\" set domain=
set user=%domain%%username%
for /f "Tokens=*" %%a in ('net localgroup administrators^|find /i "%user%"') do set admin=Y 

If %admin% == Y goto isAdmin

ECHO NO NOT ADMIN
pause
GOTO END

:isAdmin
ECHO YES ADMIN
pause

:END


zkoušel jsem to upravit různě, ale třeba takto se to jen sekne a neudělá to nic

...
...
for /f "Tokens=*" %%a in ('runas /env /user:%computername%\uzivatel "net localgroup administrators^|find /i %user%"') do set admin=Y 
...
...


jde mi o to, aby byl script spuštěn pod jiným uživatelem pomocí RUNAS, požádal uživatele o heslo a po správném ověření vypsal "YES ADMIN"
P_T_
Profil
Nevím, o jaký konkrétní OS jde, ale obecně je to příkaz
runas /user:jmeno_uzivatele cesta_k_davce.bat
Dávku je lepší mít lokálně na disku ( né síťově )
TrueFriend
Profil
Jde o použití jak na Windows XP tak na Win 7. Ten RUNAS se mco neliší, takže tohle asi tolik nerozhoduje.
runas /user:jmeno_uzivatele cesta_k_davce.bat jsem také zkoušel, ale nefunguje. Stane se to, že vypíše vždy NOT ADMIN, nebo že se nepodařilo najít cestu k systémovému souboru co je v tom BATu.
Asi se to nějakým záhadně dobrodružným způsobem tluče, protože je tam víc příkazů a to RUNAS asi neumí, nebo ... našlo by se přecijen nějaké řešení?
P_T_
Profil
takže mě to funguje následovně (Win7)

runas /user:jmeno_uzivatele cela_cesta_k_davce.bat ( např. runas /user:test c:\davka.bat )

Jinak by šla ta dávka zjednodušit, např.

@echo off
net localgroup administrators | FIND "%username%" > NUL
IF NOT ERRORLEVEL 1 ECHO Ano jsi administrátor
IF ERRORLEVEL 1 ECHO Nejsi administrátor
pause
TrueFriend
Profil
Děkuji MOC. Řešení od P_T_ je asi to jediné na internetu co opravdu funguje.
Díky i za to zjednodušení :)

Vaše odpověď

Mohlo by se hodit

Zvažte, zda se neobrátit na specializované fórum, toto se zabývá především webovou problematikou.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0