Путь запуска в планировщике заданий игнорируется

У меня есть программа powershell, которую я добавляю к задаче в планировщике заданий.

Я устанавливаю путь Start in (необязательно) в D:\XXX\YYY, но когда я запускаю задачу, я вижу, что текущий путь (полученный с помощью Get-Location) равен C:\Windows\system32, а не путь, который я определил в параметре start in.

Какие-либо предложения? Версия Windows — Windows Server 2008 R2.

Спасибо!


person Ilaria Manni    schedule 29.08.2018    source источник
comment
в начале вашего скрипта выполните run Set-Location D:\XXX\YYY   -  person Guenther Schmitz    schedule 29.08.2018
comment
Мне нужно избегать Set-Location, и я хочу использовать относительный путь в своем сценарии. Знаете ли вы, почему планировщик заданий игнорирует параметр «Начать через»?   -  person Ilaria Manni    schedule 29.08.2018
comment
@Ilaria Manni Какая команда выполняется при запуске запланированного задания?   -  person Manu    schedule 29.08.2018
comment
@Manu Программа/скрипт: Powershell.exe Добавьте аргументы (необязательно): -ExecutionPolicy Bypass D:\XXX\YYY\script.ps1 Запустите (необязательно): D:\XXX\YYY   -  person Ilaria Manni    schedule 29.08.2018
comment
без показа вашего кода/почему вам нужно, чтобы он был относительным, я не могу помочь.   -  person Guenther Schmitz    schedule 29.08.2018
comment
@Илария Манни Можешь попробовать? Программа/скрипт: Powershell.exe Добавить аргументы (необязательно): -ExecutionPolicy Bypass -File D:\XXX\YYY\script.ps1 Запуск в (необязательно): D:\XXX\YYY   -  person Manu    schedule 30.08.2018
comment
Возможно, у вас есть пробелы в пути, поэтому аргументы могут быть неправильно интерпретированы. Я добавил -File и " для правильной передачи аргументов без недопонимания.   -  person Manu    schedule 30.08.2018
comment
Из любопытства, вы назначили триггер, кроме One time? Я спрашиваю, потому что столкнулся с той же проблемой и только что заметил, что путь «Пуск в» игнорируется, когда я давал расписание каждый час в течение 12 часов. Когда я даю расписание «Один раз», соблюдается путь «Начало пути». У меня нет объяснения.   -  person anu start    schedule 17.01.2019


Ответы (2)


я думаю, вам нужно установить эту команду в первой строке вашего скрипта:

Set-Location 'C:\ваш скрипт PATH'

person BEHXAD    schedule 29.08.2018

Чтобы использовать относительные пути в ваших сценариях, используйте $PSScriptRoot

Например:

$imageDog= "$PSScriptRoot\images\dog.png"

Чтобы запланировать ваш скрипт через планировщик задач, запустите powershell и добавьте аргументы:

-ExecutionPolicy Bypass D:\XXX\YYY

Рекомендации:

  1. Как выполнять сценарии PowerShell из планировщика заданий
  2. Запланировать скрипт powershell
person Michael B.    schedule 29.08.2018