在不同的凭据下运行cruise control.net

时间:2010-06-10 17:40:57

标签: cruisecontrol.net

所以我的构建中有一部分需要域权限并进行文件复制。

我的构建的另一部分运行一些程序,要求用户与桌面交互,这似乎只能由系统帐户完成。

解决这两个问题的最佳方法是什么?目前看起来我只能做其中一个......

1 个答案:

答案 0 :(得分:3)

一种方法是执行net use s: \\<share path> <password> /user:<domain user> /savecred,这将允许您的系统帐户模拟域用户以进行共享连接。

另一种方法是使用runas.exe /user:<your domain user> /savecred <program>。请注意,这需要运行runas的人从CC.Net用户的上下文输入域用户密码。您可以通过打开控制台作为系统帐户来执行此操作(由于CC.Net SVN集成,有许多关于此主题的文章)并手动运行runas /savecred并提供密码。

另一种方法是创建一个单独的COM服务,该服务作为域帐户运行,并具有CC.Net调用该服务的命令行工具。

另一种替代方案是让CC.Net计划作为域用户运行的即时任务。您可以使用schtasks.exe来执行此操作。您需要一个带有任务定义的xml文件,该文件需要包含域用户名和密码。