zoukankan      html  css  js  c++  java
  • bat脚本执行获取管理员权限的方法

    ::作者:落梧凉
    ::链接:https://www.zhihu.com/question/34541107/answer/154430381
    ::来源:知乎
    ::著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    @echo off
    title 获取管理员权限
    mode con cols=100 lines=20
    color 3f

    :: 开始获取管理员权限
    setlocal
    set uac=~uac_permission_tmp_%random%
    md "%SystemRoot%system32\%uac%" 2>nul
    if %errorlevel%==0 ( rd "%SystemRoot%system32\%uac%" >nul 2>nul ) else (
    echo set uac = CreateObject^("Shell.Application"^)>"%temp%\%uac%.vbs"
    echo uac.ShellExecute "%~s0","","","runas",1 >>"%temp%\%uac%.vbs"
    echo WScript.Quit >>"%temp%\%uac%.vbs"
    "%temp%\%uac%.vbs" /f
    del /f /q "%temp%\%uac%.vbs" & exit )
    endlocal
    :: 完成获取,下面可以开始写你自己的代码了

    echo.
    echo 原理:先尝试在系统目录下临时新建一个文件夹,若已获取管理员权限或是运行在XP等不需要管理员权限的
    echo 老系统时,是可以新建成功的,此时只需删除这个临时新建的文件夹就好了,否则通过创建一个临时
    echo vbs脚本获取管理员权限,然后再删除这个临时vbs脚本文件。
    echo.
    echo 提示:当获取管理员目录后,你的批处理运行目录会发生变化,为保证目录准确,
    echo 可通过 cd 切换目录,例“cd /d %%~dp0”切换回批处理所在目录
    echo.
    echo 当前运行目录: %cd%
    echo 批处理所在目录:%~dp0
    echo.
    echo 例:切换回批处理所在目录
    echo cd /d %%~dp0
    echo.

    cd /d %~dp0

    echo 当前运行目录: %cd%
    echo 批处理所在目录:%~dp0

    ::此处添加需要提权的命令


    pause
    exit

  • 相关阅读:
    超时时间已到。在操作完成之前超时时间已过或服务器未响应 shiney
    C#的映射机制 shiney
    C#用OLEDB导入问题总结 shiney
    SQL中的isnull shiney
    单虚拟机搭建zookeeper集群
    shell与sqlplus交互
    servlet
    迷你MVVM框架 avalonjs 入门教程
    classpath 'com.android.tools.build:gradle:6.7
    new ArrayList json.parse
  • 原文地址:https://www.cnblogs.com/roea1/p/15221570.html
Copyright © 2011-2022 走看看