标题: [注册表类] 批处理怎样用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上面一句- start b.vbs
- runas /user:管理员 D:\changekey\a.bat
复制代码
b.vbs 内容如下(延时是为了输入成功,123就是密码,自己改吧)- dim wsh
- set wsh=WScript.CreateObject("WScript.Shell")
- WScript.Sleep 2000
- wsh.SendKeys "123"
- WScript.Sleep 1000
- 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 |