запланировать задачу powershell с помощью BAT-файла

#windows #batch-file #powershell-2.0

#Windows #пакетный файл #powershell-2.0

Вопрос:

Это не совсем вопрос, а скорее ваше мнение о том, на правильном ли я пути.

Я хочу запланировать сценарий powershell v2 в Windows 2008 R2. Я могу поместить C:WindowsSystem32WindowsPowerShellv1.0powershell.exe в текстовом поле program / script и имя скрипта и аргументы в текстовом поле «Добавить аргументы (необязательно). Мой скрипт принимает около 5 аргументов, и поскольку размер окна нельзя изменить, мне приходится прокручивать, чтобы просмотреть их все. ИТАК, я подумываю о создании BAT-файла со сценарием powershell и аргументами в нем, а затем запланировать BAT-файл.

Итак, мой вопрос в том, правильный ли это подход? Не вызовет ли использование BAT-файла процесс DOS, который, в свою очередь, вызовет исполняемый файл powershell?

Ответ №1:

Итак, мой вопрос в том, правильный ли это подход?

Это технически обоснованный подход. Правильно это или неправильно, зависит от субъективности. Если она функционирует должным образом, то технически она «правильная», но вы можете потерять возможность видеть / фиксировать любые возникающие ошибки; возможно, вы захотите настроить свой сценарий PowerShell на отправку сообщений об ошибках по электронной почте или записать их в файл (или даже средство просмотра событий).

Не вызовет ли использование BAT-файла процесс DOS, который, в свою очередь, вызовет исполняемый файл PowerShell?

DOS была отключена более десятка лет назад (поэтому ни один процесс DOS не будет вызван), но вы правы в том, что планировщик задач запустит экземпляр cmd.exe , а тот, в свою очередь, запустит PowerShell.

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