脚本请求管理员权限但已修改

问题描述 投票:0回答:0

我需要一些帮助来稍微修改我在这里找到的脚本:https://stackoverflow.com/questions/35603199/cant-figure-out-what-this-code-does-exactly

脚本按原样完美运行,但我想知道我是否可以对其进行轻微修改。请注意,如果我将脚本直接添加到我的主脚本中,它工作得很好,但是我只想在必要时调用脚本我不希望脚本总是在管理模式下运行

合并时,无论出于何种原因拒绝管理员请求,例如当用户在提升管理员权限时键入 no 时,我希望脚本不要继续执行它后面的其余脚本,而是我希望它显示以下文字

Echo 请求的管理权限已被拒绝 Echo 所有功能将在 10 秒内停止 超时 /T 10 /NOBREAK 出口

请注意,我曾尝试编辑脚本,但我最近开始学习脚本编写,但对此一无所获,因此我不得不寻求帮助。如果有人可以帮助我,我将不胜感激......

我尝试在UACPrompt下添加它但是无论我点击是还是否,都会出现错误

我试过在 got 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
@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
    ) else ( 
    If not exist "%temp%\getadmin.vbs" (
    goto :NoAdmin)
))

: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"



:NoAdmin
Echo REQUESTED ADMINISTRATIVE PRIVILEGES HAS BEEN REJECTED
Echo ALL FUNCTIONS WILL STOP IN 10 SECONDS 
TIMEOUT /T 10 /NOBREAK 
exit /B


windows batch-file admin
© www.soinside.com 2019 - 2024. All rights reserved.