2016-01-23 109 views
-1

是否有批处理脚本或命令?使用cmd从内部更改管理员权限

我尝试了网络用户[用户名] *
并尝试网络用户本地组管理员。

+0

您是否试图给自己管理员权限或更改所有管理员的权限? – SomethingDark

+0

你想更改为管理员吗?或从管理员到普通用户? –

+0

奇怪的请求,我认为这将是更简单的只是登录并将自己设置为管理员...除非你不应该有管理员权限tssk tssk .. – Bloodied

回答

1

如果你想从普通用户到管理员更改,您可以使用此:

@echo off 
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" 
if %errorlevel% NEQ 0 (GOTO askAdmin) 
GOTO gotAdmin 


:askAdmin 
::batch is being ran as normal user 
echo I'm not an admin yet 
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" 
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges... 
goto UACPrompt 
) else (goto gotAdmin) 
:UACPrompt 
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" 
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" 
"%temp%\getadmin.vbs" 
exit /B 


:gotAdmin 
if exist "%temp%\getadmin.vbs" (del "%temp%\getadmin.vbs") 
pushd "%CD%" 
CD /D "%~dp0" 
::batch is being ran as admin 
echo Now I'm an admin! 
pause 

你应该把所有需要的下方跑出代码:askAdmin标签,否则它得到执行两次的。

+0

如果我的答案解决了你的问题,你可以通过点击旁边的检查来接受它它。如果没有,您可以发表评论,我会尽力帮助您解决其他问题 –