中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » runas怎么样才能实现不用手工输入密码
作者:
标题: runas怎么样才能实现不用手工输入密码 上一主题 | 下一主题
zxq6992809
新手上路





积分 8
发帖 10
注册 2008-10-20
状态 离线
『楼 主』:  runas怎么样才能实现不用手工输入密码

ranas怎么样才能实现不用手工输入密码

2008-10-21 11:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  



  Quote:
用echo命令通过管道向runas命令发送密码的方法是不行的,因为runas绕过了IO控制台直接从键盘获取密码字符串,所以echo到控制台的密码被忽略,而代以空密码进行用户验证。runas的这个机制也许正是为了避免在命令行使用密码进行其他用户权限的程序调用,因为不这样做有可能为命令行实现的暴力破解程序留下可趁之机,并且避免了密码的暴露,但同时也降低了授权用户合法访问的便捷性。

方法一:使用VBS的SendKeys来输入密码
echo set pws=WScript.CreateObject("WScript.Shell")>%temp%\pws.vbs
echo pws.SendKeys "1{ENTER}">>%temp%\pws.vbs
wscript %temp%\pws.vbs&runas /u:test1 cmd.exe

方法二:使用/savecred参数
独立用户执行程序时第一次需要建立凭据,其间输入密码是不会回显的,你看不到,输了后回车即可。
以后在运行就不需要输入密码了。
runas /u:test1 cmd.exe  输入密码并回车
runas /savecred /u:test1 explorer  不用输密码了

方法三:用PsTools工具中的PsExec来替代Runas





2008-10-21 12:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
liumangshiwo
新手上路





积分 19
发帖 13
注册 2008-10-21
状态 离线
『第 3 楼』:  

顶一下

2008-10-21 14:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zxq6992809
新手上路





积分 8
发帖 10
注册 2008-10-20
状态 离线
『第 4 楼』:  

按HAT的贴子中方法一:我做了一下情况如下:
1.echo set pws=WScript.CreateObject("WScript.Shell")>%temp%\pws.vbs
echo pws.SendKeys "macintosh{ENTER}">>%temp%\pws.vbs
wscript %temp%\pws.vbs&runas /u:KCCM\Administrator "d:\setup\二次开发安装.bat"
我把密码改成了我所需要的密码macintosh
我把代码复制粘贴到CMD里可以正常运行
可是当我把代码写成BAT文件运行就不对了运行起来变了样子如下:

D:\setup>echo set pws=WScript.CreateObject("WScript.Shell")1>C:\DOCUME~1\zxq\LOCALS~1\Temp\pws.vbs

D:\setup>echo pws.SendKeys "macintosh{ENTER}" 1>>C:\DOCUME~1\zxq\LOCALS~1\Temp\pws.vbs

D:\setup>wscript C:\DOCUME~1\zxq\LOCALS~1\Temp\pws.vbs  & runas /u:KCCM\Administrator "d:\setup\二次开发安装.bat"
输入 KCCM\Administrator 的密码:
试图将 d:\setup\二次开发安装.bat 作为用户 "KCCM\Administrator" 启动...
RUNAS 错误: 无法运行 - d:\setup\二次开发安装.bat
1326: 登录失败: 未知的用户名或错误密码。


为什么呢,同样的代码啊

2008-10-22 09:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 5 楼』:  

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
        /smartcard [/user:<UserName>] program
program         EXE. 的命令行。请参阅下面的例子
          你要执行批处理,要就以runas启动cmd.exe,然后把你的批处理路径当参数传递给cmd.exe

本地执行时用户写名字就可以了

其实你这样的解决方法最好使用wsh中的wshscriptexec对象,大概如下
Dim
Set wsh=CreateObject("WScript.Shell")
Set oexec=wsh.exec("cmd.exe")
oexec.StdIn.Write "runas /user:administrator install.cmd" & vbCrLf
oexec.StdIn.Write "pws" & vbCrLf




49206C6F766520796F752067757973 54656C3A3133383238343036373837
2008-10-22 13:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
422904z
初级用户





积分 74
发帖 37
注册 2007-6-28
状态 离线
『第 6 楼』:  

长知识了

2009-10-13 21:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: