Тест Powershell для неинтерактивного режима

У меня есть сценарий, который можно запускать вручную или запускать запланированным заданием. Мне нужно программно определить, работаю ли я в неинтерактивном режиме (который устанавливается при запуске через запланированное задание) или в обычном режиме. Я погуглил, и лучшее, что я могу найти, это добавить параметр командной строки, но у меня нет никакого реального способа сделать это с запланированными задачами, и я не могу разумно ожидать, что пользователи добавят параметр при его запуске. вручную. Устанавливает ли неинтерактивный режим какую-то переменную или что-то, что я мог бы проверить в своем сценарии?

Редактировать: Я на самом деле непреднамеренно ответил на свой вопрос, но я оставляю его здесь для потомков.

Я вставил в сценарий read-host, чтобы запросить у пользователя что-то, и когда он запустился в неинтерактивном режиме, бум, завершающая ошибка. Вставьте его в блок try/catch и делайте что-то в зависимости от того, в каком режиме я нахожусь.

Не самая красивая структура кода, но она работает. Если у кого-то есть лучший способ, пожалуйста, добавьте его!

18
задан matthew 16 March 2012 в 14:30
поделиться