对于Azure云服务,在ServiceDefinition.csdef文件中定义启动任务时,可以选择设置环境变量。它看起来像这样:
<Startup>
<Task commandLine="install.cmd" executionContext="elevated" taskType="simple">
<Environment>
<Variable name="YourEnvironmentVariable" value="YourValue"/>
</Environment>
</Task>
</Startup>
该环境变量似乎只在其定义的任务期间持续存在(在本例中,运行install.cmd)。如果你在你的云实例中进行RDP并检查环境变量,那么你就不会在那里看到它。有没有办法让环境变量保持不变?
答案 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