如何使Azure Cloud启动环境变量保持不变

时间:2017-05-15 22:11:19

标签: azure environment-variables azure-cloud-services

对于Azure云服务,在ServiceDefinition.csdef文件中定义启动任务时,可以选择设置环境变量。它看起来像这样:

<Startup>
  <Task commandLine="install.cmd" executionContext="elevated" taskType="simple">
    <Environment>
      <Variable name="YourEnvironmentVariable" value="YourValue"/>
    </Environment>
  </Task>
</Startup>

该环境变量似乎只在其定义的任务期间持续存在(在本例中,运行install.cmd)。如果你在你的云实例中进行RDP并检查环境变量,那么你就不会在那里看到它。有没有办法让环境变量保持不变?

1 个答案:

答案 0 :(得分:1)

似乎Azure Cloud Framework没有为您提供简单的方法,但这是可能的。我通过手动设置install.cmd来持久化环境变量。就我而言,install.cmd调用了一个执行以下操作的PowerShell脚本:

# Make the environment variables defined in ServiceDefinition.csdef persist
[Environment]::SetEnvironmentVariable("YourEnvironmentVariable", "$Env:YourEnvironmentVariable", "Machine")

您可以在不使用PowerShell的情况下完成此操作。它看起来像这样:

setx YourEnvironmentVariable "%YourEnvironmentVariable%" /M