保持Azure自托管代理运行和连接

时间:2020-01-27 16:04:39

标签: azure azure-devops azure-pipelines

我对Azure自托管有一些疑问。

假设用户Windows在物理机M上设置了Alex自托管代理。当Alex注销并且计算机进入睡眠状态时,代理将脱机。现在,当Bob登录同一台计算机时,他必须设置其他代理,而Alex设置的代理仍处于脱机状态,并且Bob无法访问。 (请让我知道这里是否有问题)

是否可以以所有用户都可以访问同一代理的方式设置自托管代理, 以及如何避免机器进入睡眠状态时代理脱机的问题?我尝试同时运行interactivelyas a service的代理。

我们确实有一个Linux集群正在运行,因此我们可以避免机器进入休眠状态,但是访问代理仍然是一个问题。另外,我们实验室中只有物理机才能运行WindowsmacOS,并且用户在使用它们后必须注销。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

如果在配置为不休眠的Windows服务器上,请创建代理并作为服务运行。我建议创建代理以作为仅为该代理创建的域服务帐户运行。注销远程服务器不应影响代理的状态。

如果作为服务运行,则代理无法执行UI自动化。如果需要UI自动化以在代理上执行,则需要将其作为交互式代理运行。我仍将以域服务帐户的身份交互式运行。如果有人要使用另一个帐户远程访问该框,并且该框正在交互运行,则该代理将显示为脱机状态。您将需要重新启动该服务器或使用该代理帐户登录,然后正确断开连接。

我们利用Microsoft文档中提供的batch script断开连接,而不会影响交互式代理。

for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
  %windir%\System32\tscon.exe %%s /dest:console
)