如何使自定义脚本执行插件运行多个SETX命令



我在arm模板中为扩展提供的脚本运行不正常。RDP进入盒子后,我可以从powershell运行命令,但我正在努力使其成为人们可以部署和使用的可分发模板。要做到这一点,我需要能够设置一些环境变量,以便在机器的其他地方使用。使用这里的信息,我可以设置一个环境变量。一旦我添加了另一个,脚本执行器就会失败,并且我的任何变量都没有设置。

例如,vm显示"SETX MyEnvironmentPrefix testValue/m"作为命令,以执行所有预期的操作。每当要执行的命令具有类似"SETX MyEnvironmentPrefix testValue/m;SETX AnotherVar secondValue/m'未设置任何变量。

我甚至尝试过将脚本更改为使用/u和/p字段,以便它在每个SETX命令的管理权限下执行。

在此期间,我为任何有类似问题的人找到了一个变通办法。我已经开始把我需要传递的所有信息都塞进一个环境变量中,并在需要的时候解析出来。这不是最干净的,但它可以解除我的任务。

我会使用powershell,你可以有一个接受输入参数(每个变量1个)或只有一个参数的脚本,然后传入一个数组并迭代它。要设置环境变量,你可以使用:

[Environment]::SetEnvironmentVariable("varName", "varValue", "Machine")

最新更新