Удаленное выполнение сценария powershell с помощью autosys - для взаимодействия с IE _ComObject - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть скрипт Powershell, предназначенный для автоматизации тестирования некоторых URL-адресов.Сценарий вызывает сеанс Internet Explorer следующим образом:

$IEProcess = Start-Process -FilePAth 'C:\Program Files (x86)\Internet Explorer\iexplore.exe' -ArguementList "-private $url" 

$Shell = New-Object -ComObject Shell.Application 

$IE = $Shell.Windows()

Затем он продолжает использовать объект $ IE для перехода по разным URL-адресам, выполнения различных проверок страниц HTML-документов страниц и создания снимков экрана в результате веб-поиска.страницы.В конечном итоге сеанс IE заканчивается, и снимки экрана распространяются по электронной почте в виде приписок.

Сценарий отлично работает при входе в систему на виртуальном хост-компьютере с учетной записью службы, которая имеет необходимые разрешения для единого входа.на различные URL-адреса.Однако требуется, чтобы скрипт выполнялся удаленно как ежедневная задача по расписанию.Пользователь не должен взаимодействовать, кроме открытия полученного электронного письма.

У меня есть задание, настроенное в AutoSys для удаленного выполнения сценария один раз в день с наивысшими привилегиями;но сценарий не завершается, как ожидалось.В частности, метод .Windows () не может передать следующее сообщение об ошибке:

Exception calling "Windows" with "0" argument(s): "The server process could not
 be started because the configured identity is incorrect. Check the username an
d password. (Exception from HRESULT: 0x8000401A)"

Я должен передать задачу по планированию задачи в autosys кому-то другому (по соображениям безопасности), но я верю, что они имеютнастроил задание с соответствующим именем пользователя / паролем для необходимой учетной записи службы.

Некоторые онлайн-источники подсказывают мне, что проблема может заключаться в попытке использовать _ComObjects удаленно, и что экземпляры Internet Explorer требуют интерактивного сеанса пользователяс пользовательским интерфейсом - который не является стандартным конфигом для пакетного задания autosys.

Мой autosys-guy добавил в описание задания флаг, который должен сделать сеанс пользователя «интерактивным», но сценарий все ещене выполняется правильно.

Я ищу общее понимание по теме и, надеюсь, решение для запуска работы.Если кто-нибудь захочет мне помочь, я буду очень признателен!:)

У меня также есть более сфокусированный вопрос:

Даже если мне удастся получить дескриптор сеанса IE, следует ли ожидать, что снимки экрана, которые скрипт выполнит с ошибкой, поскольку экранный буфердля ВМ нет монитора для рендеринга?- Изображения являются растровыми и ссылаются на объекты оболочки IE "position", "width" и "height" для размещения / размеров захвата;что, по-видимому, ничего не значит без разрешения экрана ??

Спасибо, что нашли время, чтобы прочитать мою проблему!

...