PowerShell-Script в PowerShell-Script с планированием задач

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

Этот второй скрипт запускается с Start-Job -Scriptblock {./second.ps1 -values args[0]} -Arguments $values;

Это работает отлично, если я запускаю этот сценарий вручную от имени администратора в ISE, но если я пытаюсь сделать это в расписании задач Windows, он не работает, и я не знаю, почему. Я запускаю Scheduletask с самыми высокими привилегиями.

Не могли бы вы мне помочь?

Спасибо, СУТ


person SUT    schedule 28.01.2017    source источник
comment
ISE сохранит переменные сценария. Когда планировщик задач запускает Powershell, любые переменные, от которых зависит задача, будут отсутствовать. Что происходит, когда вы закрываете ISE и запускаете команду Start-Job?   -  person user4317867    schedule 28.01.2017
comment
Вы ждете завершения работы в вашем скрипте?   -  person user4003407    schedule 28.01.2017
comment
Нет - я завершаю сценарий, не дожидаясь заданий. Я запускаю задания в фоновом режиме - поэтому сценарий чтения просто завершается, а другие (другие сценарии second.ps1) продолжаются   -  person SUT    schedule 29.01.2017


Ответы (2)


Что мешает использовать полный путь вместо "./second.ps1"?

person Buxmaniak    schedule 29.01.2017
comment
Я использую абсолютный путь - это был просто пример - person SUT; 29.01.2017

Я решил проблему. Проблема была в том, что я не дождался запуска скриптов, которые работают в фоновом режиме, прежде чем закрыть Main-Script.

Таким образом, планировщик заданий останавливал каждый процесс, который работал в фоновом режиме, когда основной скрипт завершал процесс.

Спасибо за ваши ответы!

person SUT    schedule 02.02.2017