Сценарии запуска в Windows Server работают асинхронно?

468
janezdu

Поскольку я отлаживаю сценарий запуска для удаленной виртуальной машины, я пытаюсь запустить некоторые команды, основанные на предыдущих. Ошибки, которые я получаю, противоречивы; иногда выполняются 2 из 3 шагов, иногда нет, иногда все. После вставки циклов while, которые заставляют шаги проверять, выполнялись ли предыдущие шаги, мой сценарий работает более или менее надежно.

Вся эта договоренность несколько неловко. Есть ли способ сделать синхронные сценарии запуска? Прав ли я, предполагая, что сценарии запуска запускаются асинхронно в первую очередь?

Контекст: GCE, Windows Server 2012 R2. Мой сценарий устанавливает 3 вещи: Chocolatey, затем Boxstarter, затем вызывает модуль Boxstarter. Chocolatey - это однострочная установка, Boxstarter устанавливается через пакет choco, а для запуска модуля Boxstarter требуется Boxstarter.

-1
Возможный дубликат [Как вы запускаете всю оболочку powerscript синхронно?] (Http://superuser.com/questions/1094046/how-do-you-run-an-entire-powerscript-shell-synchronously) DavidPostill 7 лет назад 1
Почему ты снова задаешь тот же вопрос? Пожалуйста, не делайте этого, прочитайте и обратите внимание на [Что мне делать, если никто не отвечает на мой вопрос?] (Http://superuser.com/help/no-one-answers). Если у вас есть новая информация, вы должны отредактировать ее в исходном вопросе, а не задавать новую. DavidPostill 7 лет назад 0

1 ответ на вопрос

0
Ƭᴇcʜιᴇ007

Независимо от того, выполняются ли несколько сценариев входа в систему синхронно (или нет), зависит от того, как настроены политики (вам нужно сообщить нам, как они настроены). По умолчанию они запускаются одновременно.

Если вы просто говорите о шагах в одном скрипте, то, являются ли эти шаги синхронными или нет, определяется самим скриптом.

Тогда по умолчанию он должен быть синхронным или асинхронным? У меня только один сценарий. janezdu 7 лет назад 0
Полностью зависит от сценария и от того, что он делает. Если вы запускаете несколько зависимых процессов, вам нужно будет указать пакетному файлу дождаться завершения одного процесса, прежде чем запускать следующий. Как это сделать, зависит от того, как был написан сценарий, на каком языке он был написан и какие команды он выполняет. Ƭᴇcʜιᴇ007 7 лет назад 0