Не так давно компания Microsoft предоставила пользователям Windows 10 бесплатный инструмент для роботизированной автоматизации процессов (RPA) под названием Power Automate Desktop. Эта технология, хоть и может быть в новинку для многих, уже успела зарекомендовать себя как перспективное направление. Она ориентирована в первую очередь на индивидуальных пользователей и малый бизнес, где регулярно выполняются одинаковые повторяющиеся операции. Важно подчеркнуть, что RPA – это отдельная отрасль автоматизации, не связанная напрямую ни с написанием скриптов, ни с полноценным программированием. Многие отнесутся к ней скептически, но сегодня этим направлением заняты все ведущие технологические гиганты, включая Microsoft.
Суть роботизации предельно проста: специальная программа отслеживает действия пользователя в графическом интерфейсе и затем воспроизводит их по заранее определенному сценарию. Благодаря этому легко и без лишних усилий можно, например, брать данные из одних приложений и передавать их другим, даже если в последних отсутствуют открытые интерфейсы для интеграции. Кроме того, роботизация идеально подходит для исполнения сложных однообразных цепочек действий, освобождая человеческие ресурсы для более творческих задач.
Еще одно важное преимущество – низкий порог входа. Если для написания скриптов и программирования нужны глубокие знания языков и систем, то для работы с RPA достаточно базового представления о переменных, циклах, условиях и основах алгоритмизации. Это позволяет опытным пользователям самостоятельно создавать и развивать свои сценарии, не привлекая к работе специалистов-программистов.
При этом роботизация не заменяет собой ни скрипты, ни полноценные программы. Она становится дополнительным инструментом, упрощающим выполнение однотипных операций. Как когда-то иронично пел герой Сыроежкина: «Вкалывают роботы – счастлив человек!», и то, что еще пару десятилетий назад казалось далекой фантастикой, теперь постепенно становится привычным элементом повседневной реальности.
Установка Power Automate Desktop
Загрузить Power Automate Desktop можно бесплатно с официального сайта Microsoft. Процесс установки интуитивно понятен, однако стоит учесть некоторые моменты.
Сегодня значительная доля работы выполняется в веб-браузерах, поэтому возможность автоматизировать действия в веб-приложениях крайне важна. Для этого в процессе установки предусмотрена опция добавления специальных драйверов для Microsoft Edge и Google Chrome. Без них возможности автоматизации в веб-среде будут ограничены.
По завершении инсталляции программа также предложит установить расширения для найденных в системе браузеров. В отличие от драйверов, расширения имеют более скромные возможности, работая с веб-приложениями путем прямого взаимодействия с элементами страницы. Рекомендуется сразу перейти по предложенным ссылкам и установить нужные расширения. После завершения всех операций не забудьте перезагрузить компьютер.
Создание собственного потока: получение, сохранение и вывод данных
В основе роботизации лежат потоки (flow) – они представляют собой последовательности действий для выполнения роботом. Запустив Power Automate Desktop и создав новый поток (кнопка Создать поток), вы окажетесь в конструкторе. Интерфейс прост: слева – список доступных действий по группам, в центре – последовательность действий потока, справа – переменные.
Для начала создадим простой поток: он получит некоторую информацию из системы, сохранит ее в файл и затем отправит на печать. Практической пользы от такого примера немного, но он наглядно покажет основные приемы работы.
Сначала обратим внимание на группу действий Система. Здесь есть возможность запускать приложения, скрипты и т.п.
В качестве примера выберем действие Выполнить команду DOS
и перетащим его в центральную колонку. Откроется окно настроек, где укажем кодировку, например
cp866
, а в качестве команды – вывод таблицы маршрутизации. При необходимости можно указать рабочую папку.
Внизу окна будут указаны переменные, создаваемые этим действием. Например
CommandOutput
содержит результат выполнения команды, переменная с сообщением об ошибке и переменная с кодом завершения, также будут доступны в правой колонке.
Запустим отладку (кнопка Выполнить) и затем проверим содержимое переменной
CommandOutput
Мы увидим полученный вывод из консольного приложения. При создании реальных сценариев лучше действовать пошагово: добавлять действия по одному и проверять их работу, контролируя переменные. Это поможет быстрее понять логику программы.
Теперь запишем текст в файл. Для этого сначала получим временный файл: перетащим действие
Получить временный файл
Оно создаст переменную
TempFile
с путём к временному файлу. Далее добавим действие
Записать текст в файл
в качестве пути к файлу укажем
TempFile
а для текста –
CommandOutput
Запустив поток и открыв файл по пути, указанному в переменной
TempFile
мы увидим в нем вывод команды. Теперь попробуем отправить этот файл на печать. Но есть нюанс: файл имеет расширение .tmp, и система может не знать, как его корректно обработать. Переименуем его в текстовый файл. Для этого используем действие
Переименовать файлы
В качестве файла для переименования укажем
TempFile
схему – Изменить расширение, новое расширение – txt. В результате получим переменную
RenamedFiles
– список переименованных файлов (хотя у нас он всего один)
Теперь можно печатать. Добавим действие
Печать документа
Так как
RenamedFiles
– это список, нужно указать конкретный элемент, например первый:
RenamedFiles[0]
Выполнив поток, мы увидим, что откроется Блокнот с содержимым файла и начнется стандартная процедура печати на принтер по умолчанию. Если это Microsoft Print to PDF, то будет сохранение результата в PDF-файл.
Таким образом, мы смогли всего за несколько шагов, в основном используя мышь, создать рабочий поток, познакомиться с переменными, списками, а также научиться получать данные, сохранять их в файл и выводить на печать.
Усложняем задачу: взаимодействие с классическим приложением
Предыдущий пример был довольно прост и мог быть решен традиционными скриптами. Теперь перейдем к более сложному сценарию: подключимся через TeamViewer к удаленному узлу, сделаем скриншот рабочего стола и отправим его по электронной почте.
Чтобы упростить процесс, в меню Инструменты запустим Средство записи для компьютера. Оно также доступно через пиктограмму в верхней части окна. Перед записью подготовимся: закроем лишние окна, продумаем последовательность действий, затем нажмем Запись и выполним все шаги, которые потом будет повторять робот. Если что-то пошло не так – остановите запись и начните заново.
В нашем примере мы запустим TeamViewer, подключимся к нужному хосту, после чего зафиксируем окно подключения. По завершении записи получим список действий, из которых можно удалить ненужные.
Запустив отладку, убедимся, что поток открывает TeamViewer и устанавливает соединение. Далее сделаем скриншот. Для этого нам нужно текущее время, чтобы включить его в имя файла. Добавим действие
Получить текущие дата и время
которое создаст переменную
CurrentDataTime
Затем используем действие
Преобразовать дату и время в текст
указывая в качестве исходных данных
CurrentDataTime
а формат – краткий формат даты. Результат будет в переменной
FormattedDateTime
Теперь применим действие
Сделать снимок экрана
Выберем захват окна переднего плана и укажем путь к файлу, включив в имя переменную с датой, например:
СнимокЭкрана-%FormattedDateTime%.png
После отладки мы увидим в заданной папке файл скриншота с нужным именем.
Далее приберемся: выделим последнее действие и снова запустим средство записи, чтобы закрыть окно подключения и сам TeamViewer. После этого добавим действие для отправки почты. Перейдем в группу Эл. почта и выберем
Отправить сообщение электронной почты
Заполним параметры SMTP-сервера, а затем и поля письма: от кого, кому, тема и текст. В поле вложения укажем путь к файлу скриншота так же, как указали в действии создания снимка.
При попытке запустить поток может возникнуть ошибка. Например, в нашем случае сервер отклонил отправку письма, так как пользователь не имеет права отправлять почту через SMTP. В настройках Яндекс.Почты, к примеру, необходимо явно включить внешний доступ.
Исправив проблему и запустив отладку еще раз, мы убедимся, что письмо успешно отправляется, но вместо скриншота там может оказаться темный экран.
Почему так происходит? Робот строго следует инструкциям: подключился, сделал скриншот – результат получил. Но изображение удаленного рабочего стола может загрузиться с задержкой. Добавим команду ожидания. Перед действием
Сделать снимок экрана
вставим действие
Ожидать
и укажем разумное время паузы. Теперь при следующем запуске робота на электронную почту придет корректный снимок удаленной системы.
Приведенные примеры – лишь небольшая часть возможностей Power Automate Desktop. Этот инструмент действительно мощен и гибок, помогая автоматизировать как простые, так и сложные задачи. К тому же он имеет подробную документацию, доступ к которой можно получить прямо из приложения.