IntraVision

Авутоматизация управления компьютерами через заявки в Intradesk (beta версия)

Статья еще обновляется... Мы развиваем этот функционал. Даже когда наш функционал полномстью не готов, мы все равно уже пишем наши планы. Если вам интересен именно этот фунционал напишите support@intradesk.ru с пометкой для "Матвея Богатова". Мы с вами свяжемся, обсудим... 

Полезные сценарии
(IT сервис-деск в крупной компании.). Примеры.
1. Пользователь выбирает из списка разрешенного ПО для установки на компьютер нажимает "Создать заявку" и посредством PowerShell скрипта (через сервер WinRm) пользователю на компьютер устанавливается нужное ПО. По сути эта "заявка" нужна только для статистики. 

2.Пользователь делает запрос через заявку на доступ к папке (из списка) и нажимает "Создать заявку". Для каждой папки настроен согласующий (владелец актива). После согласования также посредством PowerShell скрипта пользователю предоставляется доступ к папке. 

Принципиально это возможность удаленного выполнение любой команды на компьютере Пользователя.

Концепция решения
На событие изменения заявки в нужном сервисе (например, перевод в статус "В работе" после автоматического согласования) настроен WebHook, который вызывает WebService. WebService в свою очередь запускает команду у сервиса WinRM (сервис входит в состав Windows server 2008 и далее...). Эта команда далее может быть выполнена на удаленном компьютере Пользователя.

 
 
Рисунок 1.



Конкретный пример. Детали (по рисунку 1)

Для нашего примера дадим детализацию по шагам (на рисунке шаги в стрелках 1-5)

Шаг.1.
Настройка WebHook. В настройках Intradesk можно указать для какого сервиса (типа заявки) делать вызов WEB сервиса. В нашем примере это только для сервиса "Установка ПО", когда меняют заявку
 
 

В атачменте приложен исходный код на языке .NET веб-сервиса, отрабатывающего запросы https://10.70.1.49:49155/webhook  . Соответственно именно такой URL мы прописали.

Шаг2. Из кода WEB сервиса видно, что он получает из параметров запроса ID актива от заявки. Именно этот идентификатор он далее подставляет в команду для передачи в WinRM службу. В нашем примере мы предполагаем, что на заявке выбирается актив в качестве ПО для установки

 
 

 Мы даем абстрактный пример (пока это не полностью рабочий пример). Для реального примера, как минимум, нужно получить IP адрес компьютера на котором надо ставить ПО. Скорей всего мы должны хранить и обновлять это поле (IP адрес) у Пользователя. Это дополнительное поле Пользователя (сотрудника или Клиента)

Пример как по ID заявки получить доп поле Пользователя (Заявителя) и/или доп. поле Актива можно посомтреть здесь???? . 

Т.е. веб-сервис должен обратить по api к Intradesk, чтобы получить значение IP адреса. Дело в том, что В параметрах от вебхуков приходит ограниченная информация и там нет всей информации по дополнительным полям Пользователей. 

В нашем примере web сервис получив в параметрах команду которую надо выполнить - проверяет на ее существование. (Т.е. команда "echo%20/All" есть). Если комнада есть то веб-0сервис переводит заявку в статус "Выполнено", если нет, то в "Не выполнено".