Планирование заданий PowerShell в Control-M

Я столкнулся с этой проблемой с Control-M.

Я создал простое задание PowerShell и запланировал его в Control-M с типом задачи в качестве команды. После выполнения статус задания становится зеленым, но он не делает ничего, что ожидалось. Однако задание выполняется нормально при двойном щелчке или при запуске с помощью PowerShell.

Для эксперимента я создал простой пакетный скрипт (.bat) для записи в файл и запланировал его в Control-M. Он не запускается в Control-M (даже после того, как стал зеленым).

Я дал команду в пакетном файле прямо в командном поле Control-M, и все работает нормально.

Я пробовал с типом работы «Работа», но у него та же проблема.

Пожалуйста, помогите. Кроме того, есть ли какие-либо специальные настройки для заданий PowerShell в Control-M?


person Utsav Datta    schedule 06.11.2014    source источник


Ответы (4)


Бруно Брант прав. Вы должны выполнить скрипт с помощью программы Powershell.

powershell.exe -NoLogo -NonInteractive -NoProfile -ExecutionPolicy "Bypass" -File "[скрытый путь unc]\HelloWorld.ps1"

Разместите агент на указанном сервере. Попросите Control-M запустить сценарий с сервера, на котором вы разместили агент. «Обход» используется только для проверки соединения и запуска тестового сценария. Удалите его после успешного вызова и снова проверьте. На хост-компьютере (с агентом Control-M) изменена политика выполнения на «удаленная подпись». протестировать снова. Если ваш скрипт находится на другом компьютере, вы можете использовать скрытый путь unc. Если на той же машине, замените путь на локальный диск.

Напишите мне, и я могу предоставить больше информации. Если у меня будет больше времени, я опубликую больше информации о том, что сработало для меня, а что нет.

person user5301791    schedule 04.09.2015

Вы не можете напрямую вызывать сценарии Powershell, как если бы это был исполняемый файл.

CONTROL-M, вероятно, вызывает вам программы через cmd («DOS»), которые не распознают файлы PS1 как исполняемые файлы (возможно, вы можете настроить это, но по умолчанию этого не произойдет). Внутри Windows у вас действительно может быть конфигурация (ассоциация файлов), которая вызывает Powershell и передает ему сценарий.

В любом случае вам нужно вызвать Powershell из CONTROL-M и передать свой скрипт в качестве параметра:

powershell -File yourscript.ps1 param1 param2 

Для получения дополнительной информации об этом синтаксисе откройте cmd и введите

powershell /?
person Bruno Brant    schedule 08.01.2015

у меня похожая ситуация случилась. Пробовал команду powershell разными способами, но безуспешно. Наконец, я вошел в CCM, перешел к свойствам агента, против которого я запускал команду powershell, и проверил параметр «войти как пользователь». Включение этого исправило мою проблему, когда задание отправлялось и выполнялось, но, похоже, ничего не делало. Попробуйте!

person ou81twoic    schedule 06.10.2016

Вы запускаете сценарий powershell на удаленном сервере? и как вы помещаете командную строку в контрольную работу.

Попробуй это.

Параметры PowerShell FullPathtoFile.ps1 2>&1 | более

person Freaky1    schedule 21.11.2014