У меня есть сценарий psake для управления развертыванием, процесс выглядит следующим образом:
- Скомпилируйте и запустите тесты
- Создайте пакет развертывания с помощью msbuild
- Проверьте, развертываем ли мы внутреннее или внешнее
- Если внутреннее, запустите сгенерированный файл cmd
- , если внешний, запросите имя пользователя и пароль и запустите сгенерированный файл cmd с именем пользователя и паролем какпараметры
Я выполняю msdeploy следующим образом при внешнем развертывании:
exec { & $deploy_cmd /Y /M:$msdeploy_url /U:$user /P:$pwd /A:NTLM }
Когда пароль содержит амперсанд (&), тогда файл cmd, я полагаю, когдаПрисвоение параметра переменной назначает часть пароля перед & и пытается выполнить часть позже.Что такое поведение файла bat (& используются для разделения команд).
Я пытался экранировать пароль с помощью каретки (^) во время запроса пароля, но это не сработало.
Кроме смены пароля, есть ли другие альтернативы?