在配置金碟k3客户端时,碰到个问题,如果启用域很好处理,否则要保存客户端电脑和服务器上有相当用户且密码要一致,客户端只能用这个用户登陆并启动客户端。这样用起来很不方便,服务器和每台客户端都要加用户。于是想了一个折中的办法。 统一都用一个用户k3test,服务器上也只加这一个用户用于k3,客户端都建同样的这一个用户k3test。
用户使用时还用平时用的用户登陆入,当用k3时,可以用另一个用k3test 来运行k3客户端。runas 可以实现此功能,但不方便之处就是每次在命令窗口要输入密码,给最终用户带来麻烦,也容易出错.
有几种方法改进:
一.完全自已写一个程序 通过调用 CreateProcessAsUser API 实现,不想搞得太麻烦,所以不采用。
二.runas 可以有保存密码的选项,这个比较实在 (将下面代码保存为 .bat 文件,第一次运行需要密码)
#选项 /savecred 可以在第一次输入密码后保存,之后就不需要再输入密码了
runas /user:k3test /savecred "C:/Program Files/Kingdee/K3ERP/K3Express/kdmain.exe"
三.通过 脚本 开一个 cmd 用 sendkey 送密码 (将下面代码保存为 .vbs 文件)
'---------------------------
'用其它用户身份运行金碟k3程序
'---------------------------
set sh=WScript.CreateObject("WScript.Shell")
sh.run("cmd /B")
WScript.Sleep 500
sh.SendKeys "runas /user:k3test " ' 用户名
WScript.Sleep 500
sh.SendKeys " ""C:/Program Files/Kingdee/K3ERP/K3Express/kdmain.exe"""
WScript.Sleep 1000
sh.SendKeys "{enter}"
WScript.Sleep 500
sh.SendKeys "1234" '密码
sh.SendKeys "{enter}"
sh.SendKeys "exit"
sh.SendKeys "{enter}"
在此只是一个运用例子,看观完全可以根据自已要求改成对其它程序的支持。
标签:其它,windows,WScript,用户,密码,sh,SendKeys,客户端 From: https://blog.51cto.com/fangkailove/5881604