2015-05-28 13 views
0

Я написал базовый сценарий для выполнения и отправки электронной почты с приложением, я проверил это в PowerShell. Однако, когда я пытаюсь создать это как планировщик задач, я получаю следующее сообщение об ошибке:Ошибка: «термин не распознан как имя командлета»

enter image description here

Однако мой точно такой же код выполняется без проблем в PowerShell.

enter image description here

Это моя точка зрения в планировщик задач: enter image description here

Что мне не хватает? Я установил политику выполнения, так что это не проблема, и я протестировал свой код, и там нет проблемы.

+0

Привет, я переименовал свою папку Powershell скрипт без пространства и решить это проблема. Однако я не понимаю, как я полагал, что & with "" означает, что это не проблема? –

ответ

2

Используйте -File параметр вместо:

-File "C:\path\to\your.ps1" 

Оператор вызова PowerShell (в &) работает только внутри PowerShell, поэтому вы должны поместить его в аргументе строку:

"& 'C:\path\to\your.ps1'" 

Хотя это будет тоже имеет определенные недостатки, самое главное, что он вернет только 0 (успех) или 1 (отказ) в качестве кода выхода, но не фактический код выхода скрипта.

1

Ваш аргумент должен содержать параметр -Command, а не только код, который вы хотите запустить. Кроме того, ваш код для запуска должен быть строкой, а не сырым кодом Powershell, или в командной строке будет пытаться ее интерпретировать. Установите аргумент:

-Command '&"C:\Users\Martyn\Documents\Powershell Scripts\Working.ps1"' 

Или, вы можете попробовать параметр -File непосредственно, хотя, как известно, проблем с ним:

-File "C:\Users\Martyn\Documents\Powershell Scripts\Working.ps1" 
Смежные вопросы