Запустите интерактивный скрипт при запуске системы или запустите интерактивный сеанс пользователя (Windows)

774
Marty

Я создаю эфемерные виртуальные машины Windows Server на AWS и хотел бы установить список программного обеспечения без присмотра при первом запуске. Для этого при запуске я запускаю скрипт начальной загрузки, который устанавливает Chocolatey, а затем несколько пользовательских пакетов choco. Система присоединяется к моему домену при запуске, и я назначаю сценарий запуска через объект групповой политики. При необходимости я также могу создавать любые другие предметы, связанные с GP.

Сценарий работает нормально, но проблема, с которой я столкнулся, заключается в том, что многим установщикам, которые я запускаю с помощью choco, для работы требуется интерактивная пользовательская сессия, поэтому они не будут работать в контексте Session0, в котором выполняется сценарий запуска. ,

Я вижу одно из следующих действий:

  1. Создайте интерактивный сеанс для запуска сценария при запуске системы.
  2. Войдите в систему пользователя из контекста Session0 (может быть пользователем домена) и вместо этого установите пакеты как сценарий входа.

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

1
Используйте `psexec`, чтобы запустить скрипт или файлы установщика с помощью ключей -i и -s. Это предполагает, что ваши установщики не ждут ввода данных от пользователя, а это то, что вы должны исследовать, чтобы работать тихо. Appleoddity 6 лет назад 1
Да, я уже разобрался с частью установки без вывода сообщений. Я дам это попробовать! Marty 6 лет назад 0
@Appleoddity после прочтения документации по psexec кажется, что уже должен быть открыт сеанс. Я все еще попробую, но если пользователь не вошел в систему, не означает ли это, что существует только Session0? Marty 6 лет назад 0
Сессия не нужна. Да, приложение будет запускаться как SYSTEM во время запуска, но будет иметь возможность взаимодействовать с рабочим столом. Поверь мне это работает. Может быть, не для всех, я не уверен. Но это решает проблему для меня. Appleoddity 6 лет назад 1
@Appleoddity Это отлично сработало! Если вы хотите превратить это в ответ, я был бы рад принять это. Marty 6 лет назад 0
Рад слышать это. Спасибо! Appleoddity 6 лет назад 0

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

2
Appleoddity

Используйте PSEXEC для запуска сценария или файлы установщика с помощью -iи -sпереключателей. Это запустит ваши приложения как СИСТЕМУ с Интерактивным Рабочим столом.

Обычно я указываю psexec.exeтот же путь, что и мои сценарии, в сетевой папке, а затем вызываю его с помощью сценариев запуска объекта групповой политики.