0

使用 powershell 或批处理脚本在构建服务器上运行带有发布定义的记事本或任何其他 Windows 应用程序:我尝试了所有我知道的命令:

& ′notepad.exe′
Invoke-Expression -Command ′notepad.exe′
Start-Process -FilePath ′notepad.exe′
[System.Diagnostics.Process]::Start(′notepad.exe′)
([wmiclass]″Win32_Process″).Create(′notepad.exe′)
Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList ″notepad.exe″
Invoke-Command -ScriptBlock {& notepad.exe′}
cmd /c ″notepad.exe″

当在服务器本身上运行时,一切正常(启动记事本或任何其他 win 应用程序)但是当我尝试通过 TFS 版本定义运行时:命令结束成功但在构建服务器上 - 没有任何反应。

有任何想法吗!!!

4

1 回答 1

0

如果您的代理在交互模式下运行并且所有其他设置都配置正确,那么答案就是该命令有效。但问题是,一旦构建/发布完成,所有启动的过程都会关闭。所以你在检查时没有看到启动的应用程序。要验证这一点,请使用以下命令添加一个 powershell 脚本任务:

Start-Process -FilePath 'C:\Windows\System32\notepad.exe' -wait

运行发布并检查服务器,您应该会看到记事本已打开。但是,此命令将导致发布永远不会完成,直到您关闭记事本。

于 2018-08-31T09:06:01.483 回答