2017-01-28 12 views
0

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

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

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

Вы можете мне помочь?

Спасибо SUT

+0

ISE сохранит переменные сценария. Когда Task scheduler запускает Powershell, любые переменные, от которых зависит задача, не будут присутствовать. Что происходит, когда вы закрываете ISE и запускаете команду «Start-Job»? – user4317867

+0

Вы ждёте завершения задания в своем скрипте? – PetSerAl

+0

Нет - я завершаю сценарий, не дожидаясь заданий Я запускаю задания в фоновом режиме - так что скрипт чтения заканчивается, а остальные (разные second.ps1-scripts) продолжают – SUT

ответ

0

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

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

Благодарите свой за ваши ответы!

0

Что говорит против того, чтобы использовать полный путь вместо»./second.ps1" ?

+0

Я использую абсолютный путь - это было просто пример – SUT