标题: runas怎么样才能实现不用手工输入密码
[打印本页]
作者: zxq6992809
时间: 2008-10-21 11:50
标题: runas怎么样才能实现不用手工输入密码
ranas怎么样才能实现不用手工输入密码
作者: HAT
时间: 2008-10-21 12:19
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 |
|
作者: liumangshiwo
时间: 2008-10-21 14:06
顶一下
作者: zxq6992809
时间: 2008-10-22 09:53
按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: 登录失败: 未知的用户名或错误密码。
为什么呢,同样的代码啊
作者: everest79
时间: 2008-10-22 13:19
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
作者: 422904z
时间: 2009-10-13 21:35
长知识了