Board logo

标题: [注册表类] 批处理怎样用runas使普通用户以管理员权限修改注册表? [打印本页]

作者: guanglight2001    时间: 2008-10-28 09:43     标题: 批处理怎样用runas使普通用户以管理员权限修改注册表?

@echo off
if not exist D:\changekey (
   mkdir D:\changekey
   copy /y [url=file://\\192.168.6.2\data01\temp\GWH28]\\192.168.6.2\data01\temp\GWH28[/url] D:\changekey>nul
    call D:\changekey\a.bat
)
echo 完成!&pause>nul


a.bat的内容是

regedit /s D:\changekey\1.reg
regedit /s D:\changekey\2.reg

这个注册表倒入的动作需要管理员权限,可以提供管理员的用户名和密码

在域控制器上分发脚本到客户端,由于客户端都是普通用户,运行a.bat时提示无法倒入,如果普通用户被加入管理员权限就可以运行

现在可以提供用管理员的户名和密码,好像可以用管理员的身份去运行 倒入注册表的动作,该怎么写啊。

在网上找到runas的方法,但具体不知道该怎么写,再次求助!!!

参考
http://bbs.bathome.net/thread-2264-1-1.html

感谢对上贴的帮助
作者: guanglight2001    时间: 2008-10-28 09:53

@echo off
if not exist D:\changekey (
   mkdir D:\changekey
   copy /y \\192.168.6.2\data01\temp\GWH28 D:\changekey>nul
    call D:\changekey\a.bat
)
echo 完成!&pause>nul





a.bat的内容是




regedit /s D:\changekey\1.reg
regedit /s D:\changekey\2.reg
作者: wxcute    时间: 2008-10-28 11:28

call D:\changekey\a.bat
改成
runas /user:管理员 D:\changekey\a.bat

把管理员代入
会提示输入密码,输完密码就会执行了。

要自动输入密码加个VBS吧,VBS放在Runas上面一句
  1. start b.vbs
  2. runas /user:管理员 D:\changekey\a.bat
复制代码
b.vbs 内容如下(延时是为了输入成功,123就是密码,自己改吧)
  1. dim wsh
  2. set wsh=WScript.CreateObject("WScript.Shell")
  3. WScript.Sleep 2000
  4. wsh.SendKeys "123"
  5. WScript.Sleep 1000
  6. wsh.SendKeys "{enter}"
复制代码
用完注意删除文件,不然密码就给人知道了。
作者: guanglight2001    时间: 2008-10-28 11:42

runas /user:administrator cmd

输入密码后能以administrator启动cmd
作者: guanglight2001    时间: 2008-10-28 12:17

出错了

运行change.bat

change.bat内容

@echo off
   start D:\changekey\b.vbs
   runas /user:administrator D:\changekey\a.bat
echo 完成!&pause>nul




b.vbs 内容

dim wsh
set wsh=WScript.CreateObject("WScript.Shell")
WScript.Sleep 200
wsh.SendKeys "Hass3ll"
WScript.Sleep 100
wsh.SendKeys "{enter}"

a.bat的内容

regedit /s D:\changekey\1.reg
regedit /s D:\changekey\2.reg

执行结果

输入 administrator 的密码:
试图将 D:\changekey\a.bat 作为用户 "HBJW111\administrator" 启动...
RUNAS 错误: 无法运行 - D:\changekey\a.bat
1326: 登录失败: 未知的用户名或错误密码。
完成!

把延迟调到5000手动输入密码回车后就能执行了

[ 本帖最后由 guanglight2001 于 2008-10-28 12:26 编辑 ]
作者: huahua0919    时间: 2008-10-28 12:47

在普通用戶下通過管理員提權必需要注銷當前用戶才可行
作者: zqz0012005    时间: 2008-10-28 21:03

楼上的,不知道就嫑乱说
作者: guanglight2001    时间: 2008-10-29 14:13

解决了,是密码的问题,dos下默认无法区  分大小写和特殊字符^%&*()等,更换密码后就没问题了

实现功能:运行 change.bat 就可以完成域环境中客户端批量更改注册表的动作
文件存放:所需文件放在服务器上 \\192.168.6.2\data01\temp\key 中,包含a.bat、b.vbs和两个注册表文件a1.reg、a2.reg客户端都能访问

change.bat  内容###############################
@echo off
if not exist D:\ok (
   RD /S /Q d:\changekey
   mkdir D:\changekey\a
   copy /y \\192.168.6.2\data01\temp\key D:\changekey >nul
   start D:\changekey\b.vbs
   runas /user:asia.hassell.local\sha_ict D:\changekey\a.bat || echo 如果总是出现此提示请联系技术支持 &pause>nul
)
   mkdir d:\ok
   del /Q D:\changekey\b.vbs

b.vbs 内容##############################

dim wsh
set wsh=WScript.CreateObject("WScript.Shell")
wscript.sleep 400
wsh.SendKeys "asosx215a@"
wscript.sleep 500
wsh.SendKeys "{enter}"

a.bat的内容#######################################
regedit /s D:\changekey\a1.reg
regedit /s D:\changekey\a2.reg
echo 完成!&pause>nul
作者: guanglight2001    时间: 2008-10-29 14:14

非常感谢 wxcute 昵称 冰疼




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2