Autor | Zpráva | ||
---|---|---|---|
TrueFriend Profil |
#1 · Zasláno: 23. 9. 2010, 21:49:09 · Upravil/a: TrueFriend
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 |
#2 · Zasláno: 24. 9. 2010, 10:44:25
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 |
#3 · Zasláno: 24. 9. 2010, 11:15:22
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 |
#4 · Zasláno: 24. 9. 2010, 19:55:36
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 |
#5 · Zasláno: 25. 9. 2010, 10:07:34
Děkuji MOC. Řešení od P_T_ je asi to jediné na internetu co opravdu funguje.
Díky i za to zjednodušení :) |
||
Časová prodleva: 14 let
|
0