首页 > 解决方案 > 在 Azure Pipeline Powershell 脚本任务中访问系统环境变量

问题描述

我们正在使用 powershell 在目标环境(例如 VM)中执行一些部署任务。但是,该脚本似乎无法访问系统环境变量以及该脚本运行的其他程序。到目前为止,它只能访问管道中定义的变量。

此外,在该脚本运行的 .NET 程序中,我们有:

var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", EnvironmentVariableTarget.Machine);

但它仍然无法访问所需的环境变量。

有没有办法让管道脚本访问系统变量?或者,我们是否必须定义一个阶段范围的管道变量并使其与目标机器的系统变量一致?

谢谢。

标签: azure-devopsazure-pipelines

解决方案


如果你参考获取目标机器的系统环境变量,你只需要在目标机器上安装自托管代理运行管道。然后$ env: VARIABLE_NAME在powershell脚本中使用获取目标机器的系统环境变量。

Azure Devops中powershell脚本获取的本机系统环境变量由运行管道的代理决定。用于运行管道的机器上的代理可以访问该机器的系统环境变量。

另外,您可以尝试使用 Mar Tin 在评论中提到的方法将系统变量定义为管道变量。


推荐阅读