Как заставить плагин Custom Script Execution запускать несколько команд SETX

Сценарий, который я предоставляю для моего расширения в моем шаблоне руки, не работает должным образом. RDP, входящий в комплект, я могу запустить команду из powershell, но я пытаюсь сделать этот шаблон распространяемым, который люди могут развертывать и использовать. Для этого мне нужно иметь возможность установить некоторые переменные среды для использования в другом месте на машине. Используя информацию здесь, я могу установить одну переменную среды. Как только я добавляю еще один, выполнение скрипта завершается ошибкой, и ни одна из моих переменных не устанавливается.

Например, если vm показывает "SETX MyEnvironmentPrefix testValue /m" в качестве команды для выполнения всего, то все работает как положено. Всякий раз, когда команда для выполнения имеет что-то вроде 'SETX MyEnvironmentPrefix testValue /m; SETX AnotherVar secondValue /m'переменные не установлены.

Я даже пытался изменить скрипт для использования полей /u и / p, чтобы он выполнялся с правами администратора для каждой команды SETX.

Тем временем я нашел обходной путь для тех, у кого есть подобные проблемы. Я решил собрать всю информацию, которую мне нужно передать, в одну переменную среды и проанализировать ее, когда мне это нужно. Не самый чистый, но он разблокирует мои задачи.

1 ответ

Решение

Я бы использовал для этого PowerShell, у вас может быть скрипт, который принимает входные параметры (по 1 для каждой переменной) или только один параметр, передает массив и выполняет его итерацию. Для установки переменной среды вы можете использовать:

[Environment]::SetEnvironmentVariable("varName", "varValue", "Machine")
Другие вопросы по тегам