我想自动化一个过程,该过程在 TFS 上成功构建后调用。该过程将 RDP 到测试服务器,然后调用该服务器上的 C# 应用程序,并在该服务器上重置 IIS。每一步都会返回结果,所以是否调用下一步取决于上一步。
实施它有一些障碍。下面是我想知道的是否可能,以及如何编码。
1)通过 TFS 上的构建调用该过程
构建定义中有一个选项可以调用自动化测试。我假设可以通过将其实现为测试来调用该过程。
2) RDP 到远程服务器
我找到了下面的链接,这可能是一个解决方案
Process rdcProcess = new Process();
rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\cmdkey.exe");
rdcProcess.StartInfo.Arguments = "/generic:TERMSRV/192.168.0.217 /user:" + "username" + " /pass:" + "password";
rdcProcess.Start();
rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\mstsc.exe");
rdcProcess.StartInfo.Arguments = "/v " + "192.168.0.217"; // ip or name of computer to connect
rdcProcess.Start();
3) IIS重置
我认为应该IISRESET
在 RDP 之后简单地调用“”,但问题是,如何捕获运行 IISRESET 的结果。
可能适用的工具有:
1) Powershell - 我对 Powershell 了解不多,但如果需要我愿意学习
2) C#
我的问题是如何实现它,任何代码示例和想法将不胜感激。