. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 回复
 
主题工具
wgf4242
 
wgf4242 的头像
热心会员
 
资 料:
注册日期: Aug 2001
帖子: 6,540 声望值: 6
精华: 0,解答: 32
#1 旧 2015-07-05, 08:39:58 默认 已解答: 【求助】一普通bat怎样以管理员身份运行另一个bat?
wgf4242 当前离线  

如题。。。

别的bat都不用管理员权限,只有一个bat需要。我又想批量执行。

如果管理员账户是空密码,还要设置 secpol.msc - 帐户: 使用空密码的本地帐户只允许进行控制台登录 属性,批处理如下
代码:
reg add HKLM\SYSTEM\ControlSet001\Control\Lsa\ /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f 
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa\ /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f
【补充】runas /user:administrator "cmd /k E:\FDownload\ipconfig_homepc.bat" 权限还是不够。

此帖于 2015-07-05 11:12:12 被 wgf4242 编辑. .
回复时引用此帖
最佳解答为:lucida
上面这个是对bat自己提权,如果你从bat1里面想提升bat2,把下面的加到bat1里面

代码:
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "cmd.exe", "/k E:\FDownload\ipconfig_homepc.bat", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
aquayhy
 
aquayhy 的头像
核心会员
 
资 料:
注册日期: Mar 2002
帖子: 4,088 声望值: 3
精华: 2,解答: 8
#2 旧 2015-07-05, 08:52:50 默认
aquayhy 当前离线  

runas
自动输入密码参考
http://wenku.baidu.com/link?url=-dBK...BSRjr_MTJTGuDe
http://tieba.baidu.com/p/957427073
回复时引用此帖
wgf4242
 
wgf4242 的头像
热心会员
 
资 料:
注册日期: Aug 2001
帖子: 6,540 声望值: 6
精华: 0,解答: 32
#3 旧 2015-07-05, 10:53:38 默认
wgf4242 当前离线  

引用:
作者: aquayhy 查看帖子
runas自动输入密码参考[url]http://wenku.baidu.com/link?url=-dBKims29R3AQPq_SDTWXZjjsLaP4T7_zvgFQ3BOdUO1WWLO9h0lMyl-rbBd8k9ePUsJjp_vtQNyvwWkPKHXie6c-NpQcBSRjr_MTJTGuDe[/u......
。。。解答按早了。。

runas /user:administrator "cmd /k E:\FDownload\ipconfig_homepc.bat"
还是提示“请求的操作需要提升(作为管理员运行)。”
回复时引用此帖
lucida
 
lucida 的头像
支柱会员
 
资 料:
注册日期: Sep 2001
帖子: 8,171 声望值: 3
精华: 4,解答: 106
#4 旧 2015-07-05, 12:04:45 默认
lucida 当前离线  

网上有现成的段子,把这个加到需要admin权限的bat开头部分

代码:
@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"
:--------------------------------------
回复时引用此帖
lucida
 
lucida 的头像
支柱会员
 
资 料:
注册日期: Sep 2001
帖子: 8,171 声望值: 3
精华: 4,解答: 106
#5 旧 2015-07-05, 12:18:06 默认
lucida 当前离线  

上面这个是对bat自己提权,如果你从bat1里面想提升bat2,把下面的加到bat1里面

代码:
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "cmd.exe", "/k E:\FDownload\ipconfig_homepc.bat", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
回复时引用此帖
发表新主题 回复

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 08:11:44.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号