gpt4 book ai didi

c# - 在 TFS 构建后通过远程桌面连接自动执行 IISRESET

转载 作者:行者123 更新时间:2023-11-30 13:01:29 25 4
gpt4 key购买 nike

我想自动化一个过程,该过程在 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();

Run mstsc.exe with specified username and password

Automating remote desktop connection

3) IIS重置

我认为应该在 RDP 之后简单地调用“IISRESET”,但问题是,如何捕获运行 IISRESET 的结果。

可能适合的工具有:

1) Powershell - 我对 Powershell 了解不多,但如果需要我愿意学习

2) C#

我的问题是如何实现它,任何代码示例和想法将不胜感激。

最佳答案

在这里查看我的答案,这有点相关:Answer

如果在构建服务器上运行 TFSBuild 服务的用户在测试服务器上拥有足够的权限,那么您可以使用 psexec 或 powershell 远程运行您的命令。阅读以下链接:

PSEXEC

PowerShell Remote commands

没有内置的事件/进程可以帮助您在 TFS 构建工作流中的远程机器上运行脚本。

第 1 步是确定您将如何在远程计算机上运行脚本,如上所述,您可以使用 PSEXEC 或 Powershell(尽管在远程计算机上运行 PowerShell 的设置可能稍微复杂一些)。

第 2 步,编写实际的脚本来完成工作、停止服务、安装 MSI 等。

第 3 步,编辑您当前的构建定义 - 创建一个新的自定义事件或使用构建定义中的 InvokeProcess 事件来调用您在第 2 步中创建的脚本。InvokeProcess 事件

关于c# - 在 TFS 构建后通过远程桌面连接自动执行 IISRESET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19197072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com