我正在测试一个小型实用程序。它的行为会有所不同,具体取决于它是否以管理权限运行。因此,我的测试框架需要使用和不使用管理员权限来调用程序,以检查它是否正常运行。
测试框架是用C#编写的。我们的CI服务器将在每天的午夜进行测试,因此不会出现访问确认或类似情况;没有人可以按下按钮或输入凭证。如果可能的话,我宁愿避免存储管理员的密码。
我从哪里开始?看起来ProcessStartInfo
可以使用用户名,域名和密码 - 但这需要将管理员密码编译到测试框架中。 (比如 可以在多台PC上运行!)我也看到过关于WindowsIdentity
和模仿的答案 - 但这似乎是要改变<的用户ID em>当前进程,而不是我试图调用的外部进程。
答案 0 :(得分:1)
这个怎么样:
至少密码不再存储在代码中,这样可以更好地管理密码,而不是将密码泄露到管理员的范围之外;)
BR Florian