Power Automate Desktop - роботизируем рутину

  • Автор:

MS-Power-Automate-Desktop-000.pngНе столь давно Microsoft сделала бесплатным для пользователей Windows 10 инструмент для роботизированной автоматизации процессов (RPA, Robotic Process Automation) - Power Automate Desktop. Инструмент, да и сама тема роботизации, для многих в новинку, но это одно из перспективных направлений и его однозначно следует осваивать. Power Automate Desktop предназначен, в первую очередь, для небольшого бизнеса и домашних пользователей, всех тех, кто регулярно делает одни и те же задачи составляющие определенную последовательность действий.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

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

Идея роботизации проста, специальная программа наблюдает за действиями пользователя в графическом интерфейсе, а затем воспроизводит их, руководствуясь некоторым сценарием. Это позволяет легко и без дополнительных затрат получать данные из одних приложений и передавать их в другие, даже если те являются закрытыми системами и не предоставляют никаких программных интерфейсов для взаимодействия. Также роботизация идеально подходит для выполнения сложных цепочек однотипных действий, высвобождая время человека для действительно творческого труда.

Еще один весомый плюс - низкий порог входа. Для написания скриптов, не говоря уже о программировании, требуются достаточно серьезные знания как языка, так и системы. Для работы с RPA достаточно базовых знаний по информатике в объеме средней школы: переменные, циклы, условия и базовые принципы построения алгоритмов. Это позволяет самостоятельно работать с такими системами опытным пользователям, не прибегая к услугам программистов.

Но роботизация не заменяет ни скрипты, ни программы, это еще одно направление, призванное облегчить труд человека поручив рутинные действия роботизированному процессу. Как пел в свое время Сыроежкин: "Вкалывают роботы, Счастлив человек!", и то, что казалось недостижимым будущим еще в 80-х годах прошлого века теперь буднично входит в нашу жизнь.

Установка Power Automate Desktop

Скачать Power Automate Desktop можно совершенно бесплатно с официальной страницы. Установка проста и не должна вызывать каких-либо затруднений, но отметим и поясним некоторые моменты.

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

MS-Power-Automate-Desktop-001.pngВ завершении установки программа снова предложит установить, но на этот раз расширение, для всех обнаруженных в системе поддерживаемых браузеров. Расширение отличается от драйвера тем, что имеет более скромные возможности, предусматривая работу с веб-приложениями посредством непосредственного взаимодействия с элементами веб-страницы. Советуем сразу перейти по ссылкам и установить необходимые расширения.

MS-Power-Automate-Desktop-002.pngПо окончании установки не забудьте перезагрузить компьютер, инсталлятор сделать это не предлагает.

Создаем собственный поток: получаем, сохраняем и выводим данные

В основе роботизации лежат потоки (flow), которые содержат определенные последовательности действий, которые должен выполнить робот. Откроем Power Automate Desktop и создадим новый поток, для чего следует нажать на кнопку Создать поток, после чего мы попадем в новое окно конструктора потока.

MS-Power-Automate-Desktop-003.pngРабочее пространство организовано достаточно просто, слева представлены доступные действия, разделенные по группам, в центре список действий потока, справа переменные. Все достаточно просто и удобно.

Для начала работы с программой давайте создадим какой-нибудь простой поток, который будет получать из системы какую-нибудь информацию, сохранять ее в файл и выводить на принтер. Не ищите в ней глубокого практического смысла, мы специально составили ее так, чтобы познакомить вас с основными приемами работы, сосредоточив их в одном задании.

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

Внизу окна указаны переменные, которые будут добавлены в поток нашим действием, их три: вывод команды, вывод сообщения об ошибке и код завершения команды. Все они будут доступны в правой колонке.

MS-Power-Automate-Desktop-004.pngТеперь можно запустить отладку действия нажав кнопку Выполнить в верхнем ряду пиктограмм. После чего можно открыть нужную переменную и посмотреть ее содержимое. Как видим вывод команды получен из консольного приложения и хранится в одной из переменных потока.

MS-Power-Automate-Desktop-005.pngПри создании реальных сценариев мы рекомендуем не создавать сразу больше количество действий, особенно если у вас недостаточно опыта, добавляйте действия одно за другим, проверяя их при помощи отладки, обязательно контролируя переменные. Это поможет лучше понять принципы действия программы и быстрее приобрести необходимый опыт.

А мы тем временем двинемся дальше, чтобы записать текст в файл нам потребуется его создать, для этого перетащим в поток действие Файл - Получить временный файл, которое добавит новую переменную TempFile с именем временного файла. Затем добавим еще одно действие, Файл - Записать текст в файл, в настройках которого укажем в качестве Пути к файлу переменную TempFile, а в качестве Текста для записи переменную CommandOutput.

MS-Power-Automate-Desktop-006.pngВыполним сценарий и откроем файл, указанный в переменной TempFile, в нем должен оказаться вывод команды. Ну так давайте же отправим его на печать! Но нет, есть одна проблема, он имеет расширение tmp и если мы попытаемся напечатать его, то система сообщит нам, что не знает как его открыть. Поэтому давайте переименуем его в обычный текстовый файл. Для этого используем действие Файл - Переименовать файлы. В качестве Файла для переименования снова укажем переменную TempFile, в Схеме переименования - Изменить расширение, Новое расширение - txt. В поток добавится новая переменная - RenamedFiles, но в отличии от TempFile это не путь к файлу, а список путей к переименованным файлам, пусть и состоящий из единственной строки.

MS-Power-Automate-Desktop-007.pngТеперь файл можно распечатать, для этого добавим действие Система - Печать документа. Обратите внимание, что переменная RenamedFiles - это список и нам надо напечатать только один его элемент, поэтому рядом с именем переменной списка в квадратных скобках укажем индекс элемента, нумерация начинается с нуля, т.е. для первого (и единственного) элемента следует указать RenamedFiles[0].

MS-Power-Automate-Desktop-008.pngЕсли теперь мы выполним наш поток, то увидим, что откроется Блокнот с содержимым нашего файла и будет выполнена стандартная процедура печати на принтер по умолчанию, в нашем случае использован принтер Microsoft Print to PDF, поэтому идет сохранение результата печати в файл.

MS-Power-Automate-Desktop-009.pngТаким образом, достаточно несложно, в основном с помощью мыши мы создали первый работающий поток, освоили работу с переменными и списками, а также научились получать данные, сохранять их в файл и выводить на печать.

Усложняем задачу: взаимодействуем с классическим приложением

Наш предыдущий поток выполнял достаточно простые действия, которые легко выполнить скриптом, но мы сознательно не стали включать туда сложные действия, для того чтобы показать основные приемы работы с Power Automate Desktop. Теперь же усложним задачу: подключимся через TeamViewer к определенному узлу, сделаем скриншот рабочего стола и отправим его по электронной почте.

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

MS-Power-Automate-Desktop-010.pngВ нашем случае запустим TeamViewer, подключимся к нужному узлу и переведем фокус на окно подключения (достаточно клика по заголовку). В результате работы Средства записи мы получим список произведенных нами действий, внимательно изучим его и удалим лишние действия, если они имели место.

MS-Power-Automate-Desktop-011.pngЗапустим отладку и убедимся, что поток открывает TeamViewer и подключается к нужному хосту. Теперь сделаем скриншот, также в имя файла скриншота мы включим текущую дату. Поэтому выполним подготовительные действия. Прежде всего получим текущую дату, для этого добавим действие Дата и время - Получить текущие дата и время, которое добавит переменную CurrentDataTime с типом Дата и, содержащую текущую дату и время.

Но мы не можем добавить дату к строке имени файла, поэтому нам нужно предварительно преобразовать ее в строку нужного формата. Для этого используем действие Текст - Преобразовать дату и время в текст. В поле Дата и время для преобразования укажем переменную CurrentDataTime, а в поле Стандартный формат укажем Краткий формат даты. Результат преобразования будет присвоен новой переменной FormattedDateTime.

MS-Power-Automate-Desktop-012.pngТеперь перетащим в поток действие Система - Сделать снимок экрана. В настройках укажем, что нам нужно захватить Окно переднего плана, сохранить его в Файл, выберем формат изображения и в поле Файл изображения выберем путь и имя сохраняемого файла, после чего дополним его переменной с текущей датой.

СнимокЭкрана-%FormattedDateTime%.png

MS-Power-Automate-Desktop-013.pngЗапустим отладку потока и убедимся, что в указанной папке появился файл скриншота с заданным именем.

MS-Power-Automate-Desktop-014.pngТеперь немного приберёмся за собой. Выделим последнее действие потока и снова запустим Средство записи для компьютера, включим запись и закроем окно подключения к узлу и сам TeamViewer. Убедимся, что лишних действий в запись не попало, а сами они расположены там, где нужно. Теперь перейдем в группу Эл. почта и добавим действие Отправить сообщение электронной почты. В разделе Сервер SMTP укажем параметры подключения к почтовому серверу.

MS-Power-Automate-Desktop-015.pngВ разделе Общее заполняем само сообщение электронной почты: от кого, к кому, тема письма и т.д. В поле Вложения указываем путь к файлу скриншота точно также как он указан в действии Сделать снимок экрана.

MS-Power-Automate-Desktop-016.pngЕще раз запускаем наш поток... и получаем ошибку... Ничего страшного, каждая возникшая ошибка содержит всю необходимую информацию, достаточно ее просто просмотреть. В нашем случае сразу становится ясно, что ошибка возникла на стороне сервера, так как указанный пользователь не имеет права отправлять почту через SMTP. В ЯндексПочте внешний доступ по умолчанию отключен и его нужно явно включить в настройках.

MS-Power-Automate-Desktop-017.pngТеперь еще раз запустим отладку потока и убедимся, что все прошло успешно, а в почтовом ящике получателя появилось нужное письмо. Но что это? Вместо скриншота темный экран.

MS-Power-Automate-Desktop-018.pngВсе просто, робот не человек, он делает строго то, что прописано в алгоритме действий. Сказано подключиться и сделать снимок экрана - подключится и сделает, но при удаленном подключении, в зависимости от качества канала связи, изображение удаленной системы может появиться не сразу, а с некоторой задержкой. Поэтому дадим нашему роботу указание немного подождать, для этого перед действием Сделать снимок экрана добавим действие Ожидание - Ожидать и укажем нужное время паузы в секундах. Теперь все будет как надо, на электронную почту придёт скриншот удаленной системы.

MS-Power-Automate-Desktop-019.pngПриведенные нами примеры всего лишь малая часть всех возможностей Power Automate Desktop, это действительно очень мощный и удобный инструмент для роботизированной автоматизации, позволяющий успешно решать как простые, так и сложные задачи. Также он прекрасно документирован, а доступ к нужным разделам справки можно получать сразу из приложения.

А так как данный инструмент для нас новый, то данная публикация играет роль вводной, в дальнейшем, по мере освоения возможностей программы мы будем делиться с вами новыми материалами по роботизации рабочих процессов.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал



Loading Comments