如何使Windows软件在脚本中以其他用户身份运行?
时间:2020-03-06 14:24:05 来源:igfitidea点击:
我正在使用一个调用Wise的构建脚本来创建一些安装文件。问题是Wise许可证仅允许它在一个特定的用户帐户下运行,该帐户与我的构建脚本将在其下运行的帐户不同。我知道Windows具有runas命令,但这不适用于自动脚本,因为无法通过命令行输入密码。
解决方案
这可能会有所帮助:RunAs程序为什么不在命令行上接受密码?
这是一种解决方法,但是我们可以创建一个计划任务,该任务以用户帐户身份运行,并使其定期运行(也许每分钟运行一次)。是的,我们必须等待它开始运行。
然后,此任务可以查找一些数据文件进行处理,并且只有在它们存在的情况下才可以进行实际工作。
我建议看一下CPAU。
Command line tool for starting process in alternate security context. Basically this is a runas replacement. Also allows you to create job files and encode the id, password, and command line in a file so it can be used by normal users.
我们可以像这样使用它(示例):
CPAU -u user [-p password] -ex "WhatToRun" [switches]
或者,我们可以创建一个" .job"文件,其中将对用户和密码进行编码。这样,我们可以避免将用户密码放入构建脚本中。
这可能会有所帮助,这是我在另一个项目中使用过的一类,使人们可以自己创建帐户。每个人都必须有权访问该程序,但是不允许同一帐户访问LDAP内容,因此该程序使用该类以其他用户身份运行它。
http://www.codeproject.com/KB/dotnet/UserImpersonationInNET.aspx