背景:
有一条case需要测试non-admin用户下运行软件产生的event信息。 由于Automation的大job是在admin用户下运行的,因此需要切换到non-admin用户,而这无论是在WTT中还是.NET中切换用户都是比较困难的。因此需要采用run as的策略,也就是在当前的admin用户下,通过code来使得所测软件在non-admin用户下运行。
下面这段代码实现了在指定的用户下运行某程序。可以从config文件中读取指定的用户。
注意:指定用户的密码不能为空,否则会有异常抛出。
public static bool LauchMontanaBrt(string inUserName,string inPassWord)
{
try
{
Process MBRTProcess = new Process();
MBRTProcess.StartInfo.UserName = inUserName;
string strPWD = inPassWord;
SecureString password = new SecureString();
foreach (char c in strPWD.ToCharArray())
{
password.AppendChar(c);
}
MBRTProcess.StartInfo.Password = password;
MBRTProcess.StartInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory;
MBRTProcess.StartInfo.FileName = "xxx.exe";
MBRTProcess.StartInfo.Arguments = "/run /wu";
MBRTProcess.StartInfo.UseShellExecute = false;
MBRTProcess.Start();
return true;
}
catch(Exception error)
{
Console.writeline(error.Message);
return false;
}
}
转自:http://blog.sina.com.cn/s/blog_457b98580100az02.html
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步