批处理文件可以在没有提示的情况下自动获得管理员权限吗?

时间:2019-07-14 13:41:26

标签: powershell batch-file cmd windows-server-2008-r2 windows-server-2012-r2

我们有超过400个PC和500个以上的域用户在整个域中,我们需要将一些配置文件从服务器复制到程序文件目录,我们创建了一个批处理文件,然后在服务器2012 R2 GPO上配置了登录脚本对于所有域用户,但是它没有运行,因为域用户在他们的计算机上没有管理员权限,所以我们已经在所有pc名称admin中拥有本地管理员,我需要在登录时以admin身份运行脚本,而无需输入密码提示,可以批处理文件自动获得管理员信用。运行之前的本地机器?这可能吗?

我尝试了此代码,但提示输入密码:

@echo off

:: BatchGotAdmin
:-------------------------------------
REM  --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    set params = %*:"=""
    echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    del "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    pushd "%CD%"
    CD /D "%~dp0"
:--------------------------------------

0 个答案:

没有答案