如何使Windows软件作为脚本内的其他用户运行?

我正在使用一个构build脚本来调用Wise来创build一些安装文件。 问题在于,Wise许可证只允许它在一个特定的用户帐户下运行,而这个用户帐户与我的构build脚本将运行的账户不同。 我知道Windowsrunas命令,但这不适用于自动脚本,因为没有办法通过命令行input密码。

这可能有所帮助: 为什么RunAs程序不能在命令行上接受密码?

我建议看看CPAU 。

用于在备用安全上下文中启动进程的命令行工具。 基本上这是一个替代品。 还允许您创建作业文件,并将ID,密码和命令行编码为一个文件,以供普通用户使用。

你可以像这样使用它( 例子 ):

CPAU -u user [-p password] -ex "WhatToRun" [switches] 

或者你可以创建一个“.job”文件,里面有用户和密码。 这样你就可以避免在用户的构建脚本中输入密码。

这是一个解决方法,但您可以创建一个计划任务作为您的用户帐户运行,并定期运行,也许每分钟一次。 是的,你必须等待它运行。

然后,这个任务可以查找一些数据文件进行处理,并且只有在那里才能进行真正的工作。

这可能有帮助,这是我在另一个项目中用来让人们自己创建帐户的课程。 每个人都必须有权访问该程序,但同一个帐户不能被允许访问LDAP的东西,所以程序使用这个类来运行它作为一个不同的用户。

http://www.codeproject.com/KB/dotnet/UserImpersonationInNET.aspx