Задача
Нужно сделать скрипт, который будет периодически логиниться в Citrix и запускать тестовую сессию. При ошибках - уведомлять.
Варианты решения
- Powershell-скрипт от Stan Czerno по идее умеет все что нужно - на всякий случай утащил к себе.
- StoreFront Launcher Script от Citrix Solutions Lab StoreFront Launcher Script тоже умеет все что нужно.
Скрипт от какой-то Citrix Solutions Lab
Решил начать с “решения” от Citrix Solutions Lab. К самому Citrix этот репозиторий, очевидно, отношения не имеет.
В результате - наблюдал такое:
[02/04/2019 13:35:57.151]: Navigating to 'https://...' [02/04/2019 13:35:57.385]: Exception caught by script [02/04/2019 13:35:57.385]: The object invoked has disconnected from its clients. (Exception from HRESULT: 0x80010108 (RPC_E_DISCONNECTED))
Оказалось, что этот скрипт надо запускать с правами администратора. Мне такое не нравится. Вариант решения нашелся тут: https://stackoverflow.com/questions/13869518/powershell-ie9-comobject-has-all-null-properties-after-navigating-to-webpage/27127120#27127120
После внедрения в этот скрипт предложенного решения данная ошибка The object invoked has disconnected…пропала.
Дальше. Скрипт нормально логинился, но затем останавливался на:
[02/04/2019 13:54:23.300]: Getting SF resources page... [02/04/2019 13:54:23.309]: Try #1: FAIL [02/04/2019 13:54:24.316]: Try #2: FAIL . . .
Оказалось, что в скрипте значения переменных не соответствуют моей версии StoreFront.
Вердикт - надо дорабатывать.
скрипт от Stan Czerno
Хороший скрипт.
Без проблем заработал на моей инсталляции.
Однако надо соблюдать неокторые неочевидные условия.
Оболочка powershell должна быть x86 (а не x64) и должна быть запущена с правами администратора.
Если прописать все необходимые параметры прямо в скрипт, то строка для запуска будет такая:
%SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe -file c:\temp\SFLauncher36.ps1
Discussion