随笔 - 23  文章 - 0 评论 - 2 阅读 - 27911
< 2025年7月 >
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
3 4 5 6 7 8 9

最近开发了一个应用,需要和其他人提供的脚本做接口。条件约束比较严:

  • 应用(下面简称APP)需要以SYSTEM启动。
  • 脚本(下面简称SCRIPT)不能以SYSTEM启动,而是以特定用户(下面简称UserA)启动。
  • 密码要能自动输入。

一、Runas

运行平台是Windows,第一下想到的是runas,参考了“runas命令的使用及RUNAS自动输入密码的方法”一文,做了以下试验。

runas /user:UserA /savecred "script.bat"

第一次运行会提示输入密码,然后运行脚本,试验成功。

再次运行runas(注意要加/savecred参数),发现不用再次输入密码。

重启电脑后,再次试验,仍然有效。

本以为就这么结束了,然而,用SYSTEM帐户运行后发现,脚本会卡住。

经分析,SYSTEM帐户与直接打开cmd运行是不一样的,属于不同的会话。因而SYSTEM下没有保存过密码,需要重新输入。

方案一失败。

 

二、 Sanur

使用参考中提到了Sanur,发现该项目早已不再维护,只支持Windows 2003/XP等早期版本。

在cmd下试验就没有成功。

 

三、lsrunase

该软件在cmd下试验成功(支持Windows 2008),但在SYSTEM下运行不正常,失败。

虽然没成功,但软件还是有点用的,介绍使用步骤:

1. 使用LSencrypt界面程序将原始密码(PwdA)加密为密文(PwdB)。

2. 在cmd下输入以下命令

lsrunase /user:UserA /password:7F1z /command:script.bat /runpath:d:\ /domain:

 注意:

  • 所有选项都要加上(/user, /password, /command, /runpath, /domain)
  • /domain:后留空,表示本机默认域或工作组。
  • /password:7F1z,使用加密后的密文(PwdB),而非加密前的密文(PwdA)

四、cpau

该软件Usage特别长,相当于一篇短篇小说了。。。具体用法略。

类似于lsrunase,在cmd下运行正常,在SYSTEM下运行失败,报错误码0xFFFFFFFB(-5)。

又失败了。

 

五、计划任务

经过一晚上的纠结,终于想出了计划任务。

计划任务具有以下特点,能满足本次需求:

  • 支持以特定用户启动。
  • 支持保存密码。
  • 密码以密文保存,而非明文。

经过试验,可行!

实现结构如下(方括号内为程序、脚本或计划任务,圆括号内为运行用户):

[APP](SYSTEM)-->[Script_intermediate](SYSTEM)-->script_task(UserA)-->SCRIPT(UserA)

加入Script_intermediate脚本,内容为

schtasks /Run /TN /I script_task

计划任务中,新建script_task,内容为调用SCRIPT,并以UserA用户启动。


 

欢迎拍砖。

posted @ 2016-01-12 12:12 Achtung 阅读(2688) 评论(0) 推荐(0)
摘要: Qt定时调度代码,类似cron。 阅读全文
posted @ 2015-09-10 13:35 Achtung 阅读(2481) 评论(0) 推荐(0)
摘要: Qt实现的多任务顺序调度代码,使用signal/slot机制与界面等其他模块解耦,使用QThreadPool管理多线程。 阅读全文
posted @ 2015-09-10 11:34 Achtung 阅读(1884) 评论(0) 推荐(0)
摘要: NS2安装注意事项 阅读全文
posted @ 2012-08-22 21:21 Achtung 阅读(800) 评论(0) 推荐(0)
摘要: 论荷兰语的发音 阅读全文
posted @ 2010-10-16 18:05 Achtung 阅读(5019) 评论(0) 推荐(1)
摘要: J2SE导出独立运行包的方法 阅读全文
posted @ 2010-10-12 18:47 Achtung 阅读(348) 评论(0) 推荐(0)
摘要: ns 简单网络模拟 阅读全文
posted @ 2010-10-04 16:14 Achtung 阅读(691) 评论(0) 推荐(0)
摘要: [代码]其中anonymous以及anon都代表匿名用户。经过配置,匿名用户可进行上传、下载、建立文件夹操作,但不能进行覆盖文件、改文件名、删除文件、删除文件夹,等操作。如此基本达到使用目的。 阅读全文
posted @ 2010-10-02 19:17 Achtung 阅读(208) 评论(0) 推荐(0)
摘要: 前天配置好了MCR,可以进行ns结合Matlab的混编与运行。今天突然发现桌面图标不见了,点右键也没有反应。到网上去搜,有观点说:运行gconf-editor在弹出的窗口中左侧列表展开下列项:"/"->"apps"->"nautilus“->“preferences”窗口右方列出了许多配置,类似Windows系统的注册表。找到“sh... 阅读全文
posted @ 2010-10-02 19:00 Achtung 阅读(2564) 评论(0) 推荐(0)
摘要: 因课题需要ns模拟器结合Matlab作数据分析,故需要安装Matlab。前后折腾了好几天,现总结如下:1.获取Matlab安装盘。我下载的是Matlab R2009b。2.在Ubuntu的终端下,挂载镜像,执行install。我安装到/opt/matlab下。3.安装Matlab Compiler Runtime(MCR)。运行matlab,输入mcr,得到MCR安装文件的路径。执行安装文件。4.... 阅读全文
posted @ 2010-10-01 23:19 Achtung 阅读(2261) 评论(0) 推荐(0)
点击右上角即可分享
微信分享提示