Платформа Microsoft 365 включает в себя довольно большое количество сервисов: от довольно сложных и очень часто используемых (например, Exchange Online, SharePoint Online, Teams) до относительно простых и не так массово используемых (например, Planer, Yammer). В этой статье мы рассмотрим, что такое Microsoft Power Automate (ранее Microsoft Flow) – еще один из сервисов Microsoft 365.
Цель данной статьи – дать общее понимание сервиса Power Automate. Если вам интересны примеры реализаций, то ранее я уже публиковал пару статей – например, вот и вот.
В заключении статьи я покажу пример с элементарным процессом Power Automate.
Общее описание сервиса
Microsoft Power Automate это своего рода инструмент оркестрации для различных сервисов. Он позволяет отслеживать события в одном из сервисов и на основе данных этого события выполнять определенные действия. Причем, как в этом же сервисе, так и в каком-то другом. Вы можете выстроить практически любую бизнес логику в ответ на какое либо событие.
Супер автоматизация на Windows 11. Power Automate. Автоматизация браузеров Mozilla, Chrome, Edge
Например, у вас есть список SharePoint, где сотрудники регистрируют заявки на отпуска. Вы можете настроить бизнес логику, при которой в случае создания новой заявки ответственному сотруднику автоматически отправится письмо на электронную почту с запросом на утверждение.
Это один из самых простых примеров.
Лицензирование и стоимость
Microsoft Power Automate можно приобрести как в виде отдельной подписки, так и в составе других подписок.
Вот в этом документе сведен перечень основных подписок Microsoft:
т.е. вот эти подписки уже включают в себя Power Automate (Standard коннекторы):
- Microsoft 365 E3, E5.
- Office 365 E1, E3, E5.
- Windows 10 Enterprise E3, E5.
- Microsoft 365 F3.
- Office 365 F3.
Есть вероятность, что на момент прочтения вами этой статьи компания Microsoft внесет какие-то корректировки в свои подписки на сервисы.
Однако, тут есть важный момент. У Microsoft Power Automate есть два типа коннекторов (о коннекторах поговорим ниже) – Standard и Premium. Все перечисленные выше подписки включают только Standard коннекторы. Premium коннекторы лицензируются отдельными подписками Power Automate.
Вообще доступно два варианта лицензирования Power Automate:
- На пользователя.
- На процесс (Flow).
Выбор зависит от характера использования сервиса. Если у вас один большой бизнес процесс, который используют все сотрудники компании, то, вероятно, что лицензирование на процесс вам больше подойдет.
Если же у вас есть какие-то автоматизации для ограниченного числа сотрудников, то вариант с лицензированием на пользователя может оказаться более выгодным.
Вообще, лицензирование Power Automate не самое тривиальное занятие (как и все лицензирование в большей части). В разделе документации есть даже соответствующий документ.
Как использовать Power Automate в Windows 11
Копия документа на 05.02.2022 приложена ниже.
Коннекторы
Выше мы уже частично говорили о коннекторах и их способам лицензирования. Что же такое коннекторы Power Automate? Это, по сути, некий интерфейс или посредник, который позволяет вам выполнять действия в другой системе (не обязательно из системы экосистемы Microsoft). Причем коннектор значительно упрощает вам задачу – вам остается только определить что нужно сделать. Коннектор уже сам возьмет на себя задачи как это сделать.
Например, вы собираетесь обновить элемент в списке SharePoint.
Вам не нужно разбираться с тем, как получить токен доступа. Вам не прийдется разбираться с API SharePoint. Не нужно вникать в POST запросы к SharePoint. Вы просто говорите, что нужно обновить поле “Title” у определенного элемента в списке SharePoint. Как раз это и помогают делать коннекторы, да и платформа Power Automate в целом.
Коннекторы содержат две большие группы элементов:
Триггеры определятю когда запускается процесс, а действия определяют непосредственно операции, которые выполняет процесс.
Как мы уже говорили выше существуют два вида коннекторов:
Коннекторы Standard доступны во многих подсписках (Office 365, Microsoft 365), а вот коннекторы Premium лицензируются отдельно.
Пример коннекторов Standard:
Пример Premium коннекторов:
Триггеры
Любое событие в платформы Power Automate происходит в ответ на какое-то действие. Такие действия называются триггерами. Например, триггером может служить создание или изменение элемента в списке SharePoint. Или, например, загрузка нового файла на OneDrive.
Пример триггеров для системы SharePoint:
Как видно из скриншота выше – для системы SharePoint существует более десятка различных триггеров.
Ниже приведен пример набора триггеров для коннектора к GitHub:
Триггером не обязательно должно служить действие в какой-то внешней (по отношению к Power Automate) системе. Например, триггером может служить HTTP запрос к Power Automate:
Или запуск события по расписанию:
Действия
Если триггеры определяют при каких условиях запускается процесс, то действия определяю конкретные шаги – что именно необходимо выполнить в ходе выполнения процесса.
Каждый коннектор содержит определенный набор действий, которые он предоставляет.
Ниже приведен пример некоторых действий, которые поддерживает коннектор к SharePoint:
А вот пример некоторых действий коннектора к Azure DevOps:
Как видно из скриншота выше – действия или триггеры Premium коннектор отмечены соответствующим значком.
Переменные
Может показаться необычным на первый взгляд, но Microsoft Power Automate поддерживает работу с переменными. Вы можете объявите переменную и сохранить туда какое-то значение. Например, из поля SharePoint. Вот в этой статье мы как раз использовали переменные.
В платформе определены следующие типы для переменных:
- Boolean.
- Integer.
- Float.
- String.
- Object.
- Array.
Доступны следующие действия с переменными:
- Append to array variable.
- Append to string variable.
- Decrement variable.
- Increment variable.
- Initializa variable.
- Set variable.
Ссылка на соответствующий раздл документации по работе с переменными.
Встроенные функции
Платформа также предоставляет набор заранее определенных функций, которые упрощают выполнение некоторых операций.
Полный перечень встроенных функций перечислен в этом разделе документации.
Рассмотрим лишь один из примеров. Например, функция concat().
Она принимает неограниченное количество параметров типа String и возвращает значение типа String, которое “склеивает” переданные ей параметры.
Параметры разделяются запятыми. Сами параметры мы заключаем в одинарные кавычки (причем, именно одинарные – это важно), т.к. это строка.
Итого, наше выражение вида:
concat(‘text1′,’text2’)
Вернет следующую строку:
text1text2
Управление ходом выполнения процесса
Power Automate содержит набор действий, которые помогают контролировать ход выполнения процесса. Эти действия напоминают операции if-else, циклы и переборы массивов из других языков программирования.
Краткое перечисление действий управления ходом выполнения процесса и их назначение:
- Condition. Аналог конструкции if-else из других языков программирования.
- Apply to each. Аналог конструкции foreach или for. Необходим для перебора значений массива объектов.
- Do until. Аналог одноименного цикла (do-until).
- Scope. Чем то напоминает директиву #region в VisualBasic или C#. Позволяет немного организовать код и разделить его на сворачиваемые секции.
- Switch. Выполняет ровно тоже, что и конструкция switch в других языках программирования.
- Terminate. Принудительно завершает выполнение потока.
Шаблоны процессов
Уже “из коробки” платформа Microsoft Power Automate поддерживает преднастроенные процессы, которые вы можете развернуть буквально за пару кликов.
Например, это могут быть следующие процессы:
- Отправка почтового уведомления при появлении нового сообщения в канале Teams.
- При загрузке файла на OneDrive отправить этот файл вложением по электронной почте.
- Создание новой задачи в Microsoft Planner при заполнении Microsoft Forms.
- Отправка уведомления при изменении элемента SharePoint.
Простой пример
Рассмотрим пример элементарного процесса – уведомление по почте при изменении элемента списка SharePoint.
Пример готового процесса приведен ниже.
Разберем этот процесс по шагам. Триггером в нашем случае выступает событие изменение элемента списка SharePoint. Мы указываем адрес сайта SharePoint и имя списка.
Затем мы извлекаем адрес электронной почты нашей учетной записи Microsoft:
И последним шагом мы формируем письмо вместе с сопроводительным текстом и отправляем на наш адрес электронной почты:
Обратите внимание, что здесь мы используем данные, полученные на предыдущих шагах процесса, а также встроенные функции платформы Microsoft Power Automate.
Источник: itproblog.ru
Записки IT специалиста
Не столь давно Microsoft сделала бесплатным для пользователей Windows 10 инструмент для роботизированной автоматизации процессов (RPA, Robotic Process Automation) — Power Automate Desktop. Инструмент, да и сама тема роботизации, для многих в новинку, но это одно из перспективных направлений и его однозначно следует осваивать. Power Automate Desktop предназначен, в первую очередь, для небольшого бизнеса и домашних пользователей, всех тех, кто регулярно делает одни и те же задачи составляющие определенную последовательность действий.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Скажем сразу, роботизированная автоматизация процессов (RPA) — это совершенно отдельная область автоматизации, не связанная ни написанием скриптов, ни с программированием как таковым. Кому-то она может показаться несерьезной, но сегодня ей занимаются практически все технологические гиганты, включая Microsoft.
Идея роботизации проста, специальная программа наблюдает за действиями пользователя в графическом интерфейсе, а затем воспроизводит их, руководствуясь некоторым сценарием. Это позволяет легко и без дополнительных затрат получать данные из одних приложений и передавать их в другие, даже если те являются закрытыми системами и не предоставляют никаких программных интерфейсов для взаимодействия. Также роботизация идеально подходит для выполнения сложных цепочек однотипных действий, высвобождая время человека для действительно творческого труда.
Еще один весомый плюс — низкий порог входа. Для написания скриптов, не говоря уже о программировании, требуются достаточно серьезные знания как языка, так и системы. Для работы с RPA достаточно базовых знаний по информатике в объеме средней школы: переменные, циклы, условия и базовые принципы построения алгоритмов. Это позволяет самостоятельно работать с такими системами опытным пользователям, не прибегая к услугам программистов.
Но роботизация не заменяет ни скрипты, ни программы, это еще одно направление, призванное облегчить труд человека поручив рутинные действия роботизированному процессу. Как пел в свое время Сыроежкин: «Вкалывают роботы, Счастлив человек!», и то, что казалось недостижимым будущим еще в 80-х годах прошлого века теперь буднично входит в нашу жизнь.
Установка Power Automate Desktop
Скачать Power Automate Desktop можно совершенно бесплатно с официальной страницы. Установка проста и не должна вызывать каких-либо затруднений, но отметим и поясним некоторые моменты.
Сегодня веб является важной частью нашей жизни и в браузере мы выполняем не меньшую часть работы, чем в обычных, настольных приложениях, поэтому достаточно важно роботизировать действия и с веб-приложениями. Для этого предназначены специальные драйвера для Microsoft Edge и Google Chrome, в других браузерах ваши возможности по работе с вебом будут несколько ограничены.
В завершении установки программа снова предложит установить, но на этот раз расширение, для всех обнаруженных в системе поддерживаемых браузеров. Расширение отличается от драйвера тем, что имеет более скромные возможности, предусматривая работу с веб-приложениями посредством непосредственного взаимодействия с элементами веб-страницы. Советуем сразу перейти по ссылкам и установить необходимые расширения.
По окончании установки не забудьте перезагрузить компьютер, инсталлятор сделать это не предлагает.
Создаем собственный поток: получаем, сохраняем и выводим данные
В основе роботизации лежат потоки (flow), которые содержат определенные последовательности действий, которые должен выполнить робот. Откроем Power Automate Desktop и создадим новый поток, для чего следует нажать на кнопку Создать поток, после чего мы попадем в новое окно конструктора потока.
Рабочее пространство организовано достаточно просто, слева представлены доступные действия, разделенные по группам, в центре список действий потока, справа переменные. Все достаточно просто и удобно.
Для начала работы с программой давайте создадим какой-нибудь простой поток, который будет получать из системы какую-нибудь информацию, сохранять ее в файл и выводить на принтер. Не ищите в ней глубокого практического смысла, мы специально составили ее так, чтобы познакомить вас с основными приемами работы, сосредоточив их в одном задании.
Прежде всего обратим внимание на группу действий Система, там представлено достаточно много вариантов взаимодействия с ней, мы можем запускать приложения и различные скрипты. В нашем случае выберем работу с классической командной строкой (CMD) для чего выберем действие Выполнить команду DOS и перетащим его в среднюю колонку. Откроется окно настройки действия, где укажем кодировку — cp866 и желаемую команду, в нашем случае это будет вывод таблицы маршрутизации, при необходимости можно указать рабочую папку.
Внизу окна указаны переменные, которые будут добавлены в поток нашим действием, их три: вывод команды, вывод сообщения об ошибке и код завершения команды. Все они будут доступны в правой колонке.
Теперь можно запустить отладку действия нажав кнопку Выполнить в верхнем ряду пиктограмм. После чего можно открыть нужную переменную и посмотреть ее содержимое. Как видим вывод команды получен из консольного приложения и хранится в одной из переменных потока.
При создании реальных сценариев мы рекомендуем не создавать сразу больше количество действий, особенно если у вас недостаточно опыта, добавляйте действия одно за другим, проверяя их при помощи отладки, обязательно контролируя переменные. Это поможет лучше понять принципы действия программы и быстрее приобрести необходимый опыт.
А мы тем временем двинемся дальше, чтобы записать текст в файл нам потребуется его создать, для этого перетащим в поток действие Файл — Получить временный файл, которое добавит новую переменную TempFile с именем временного файла. Затем добавим еще одно действие, Файл — Записать текст в файл, в настройках которого укажем в качестве Пути к файлу переменную TempFile, а в качестве Текста для записи переменную CommandOutput.
Выполним сценарий и откроем файл, указанный в переменной TempFile, в нем должен оказаться вывод команды. Ну так давайте же отправим его на печать! Но нет, есть одна проблема, он имеет расширение tmp и если мы попытаемся напечатать его, то система сообщит нам, что не знает как его открыть. Поэтому давайте переименуем его в обычный текстовый файл.
Для этого используем действие Файл — Переименовать файлы. В качестве Файла для переименования снова укажем переменную TempFile, в Схеме переименования — Изменить расширение, Новое расширение — txt. В поток добавится новая переменная — RenamedFiles, но в отличии от TempFile это не путь к файлу, а список путей к переименованным файлам, пусть и состоящий из единственной строки.
Теперь файл можно распечатать, для этого добавим действие Система — Печать документа. Обратите внимание, что переменная RenamedFiles — это список и нам надо напечатать только один его элемент, поэтому рядом с именем переменной списка в квадратных скобках укажем индекс элемента, нумерация начинается с нуля, т.е. для первого (и единственного) элемента следует указать RenamedFiles[0].
Если теперь мы выполним наш поток, то увидим, что откроется Блокнот с содержимым нашего файла и будет выполнена стандартная процедура печати на принтер по умолчанию, в нашем случае использован принтер Microsoft Print to PDF, поэтому идет сохранение результата печати в файл.
Таким образом, достаточно несложно, в основном с помощью мыши мы создали первый работающий поток, освоили работу с переменными и списками, а также научились получать данные, сохранять их в файл и выводить на печать.
Усложняем задачу: взаимодействуем с классическим приложением
Наш предыдущий поток выполнял достаточно простые действия, которые легко выполнить скриптом, но мы сознательно не стали включать туда сложные действия, для того чтобы показать основные приемы работы с Power Automate Desktop. Теперь же усложним задачу: подключимся через TeamViewer к определенному узлу, сделаем скриншот рабочего стола и отправим его по электронной почте.
Чтобы облегчить работу перейдем в меню Инструменты и запустим Средство записи для компьютера, также его можно запустить кнопкой в верхнем ряду пиктограмм. Подготовьтесь к записи: уберите все лишние окна, продумайте порядок действий, после чего нажмите Запись и выполните последовательность действий для повторения роботом. Если что-то пошло не так, остановите запись, нажмите Сбросить и повторите процесс.
В нашем случае запустим TeamViewer, подключимся к нужному узлу и переведем фокус на окно подключения (достаточно клика по заголовку). В результате работы Средства записи мы получим список произведенных нами действий, внимательно изучим его и удалим лишние действия, если они имели место.
Запустим отладку и убедимся, что поток открывает TeamViewer и подключается к нужному хосту. Теперь сделаем скриншот, также в имя файла скриншота мы включим текущую дату. Поэтому выполним подготовительные действия. Прежде всего получим текущую дату, для этого добавим действие Дата и время — Получить текущие дата и время, которое добавит переменную CurrentDataTime с типом Дата и, содержащую текущую дату и время.
Но мы не можем добавить дату к строке имени файла, поэтому нам нужно предварительно преобразовать ее в строку нужного формата. Для этого используем действие Текст — Преобразовать дату и время в текст. В поле Дата и время для преобразования укажем переменную CurrentDataTime, а в поле Стандартный формат укажем Краткий формат даты. Результат преобразования будет присвоен новой переменной FormattedDateTime.
Теперь перетащим в поток действие Система — Сделать снимок экрана. В настройках укажем, что нам нужно захватить Окно переднего плана, сохранить его в Файл, выберем формат изображения и в поле Файл изображения выберем путь и имя сохраняемого файла, после чего дополним его переменной с текущей датой.
СнимокЭкрана-%FormattedDateTime%.png
Запустим отладку потока и убедимся, что в указанной папке появился файл скриншота с заданным именем.
Теперь немного приберёмся за собой. Выделим последнее действие потока и снова запустим Средство записи для компьютера, включим запись и закроем окно подключения к узлу и сам TeamViewer. Убедимся, что лишних действий в запись не попало, а сами они расположены там, где нужно. Теперь перейдем в группу Эл. почта и добавим действие Отправить сообщение электронной почты. В разделе Сервер SMTP укажем параметры подключения к почтовому серверу.
В разделе Общее заполняем само сообщение электронной почты: от кого, к кому, тема письма и т.д. В поле Вложения указываем путь к файлу скриншота точно также как он указан в действии Сделать снимок экрана.
Еще раз запускаем наш поток. и получаем ошибку. Ничего страшного, каждая возникшая ошибка содержит всю необходимую информацию, достаточно ее просто просмотреть. В нашем случае сразу становится ясно, что ошибка возникла на стороне сервера, так как указанный пользователь не имеет права отправлять почту через SMTP. В ЯндексПочте внешний доступ по умолчанию отключен и его нужно явно включить в настройках.
Теперь еще раз запустим отладку потока и убедимся, что все прошло успешно, а в почтовом ящике получателя появилось нужное письмо. Но что это? Вместо скриншота темный экран.
Все просто, робот не человек, он делает строго то, что прописано в алгоритме действий. Сказано подключиться и сделать снимок экрана — подключится и сделает, но при удаленном подключении, в зависимости от качества канала связи, изображение удаленной системы может появиться не сразу, а с некоторой задержкой. Поэтому дадим нашему роботу указание немного подождать, для этого перед действием Сделать снимок экрана добавим действие Ожидание — Ожидать и укажем нужное время паузы в секундах. Теперь все будет как надо, на электронную почту придёт скриншот удаленной системы.
Приведенные нами примеры всего лишь малая часть всех возможностей Power Automate Desktop, это действительно очень мощный и удобный инструмент для роботизированной автоматизации, позволяющий успешно решать как простые, так и сложные задачи. Также он прекрасно документирован, а доступ к нужным разделам справки можно получать сразу из приложения.
А так как данный инструмент для нас новый, то данная публикация играет роль вводной, в дальнейшем, по мере освоения возможностей программы мы будем делиться с вами новыми материалами по роботизации рабочих процессов.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Источник: interface31.ru
Зачем использовать Power Automate как часть Microsoft Power Platform
Высвободите время на более важные дела, используя роботизированную (RPA) и цифровую автоматизацию процессов (DPA) во всех проектах Power Platform.
Автоматизируйте больше процессов
Повышение эффективности
Быстрая автоматизация
Обновление устаревших решений
Повышение эффективности
Замените ручной труд автоматизацией: от отдельных задач до целых рабочих процессов. Экономьте время и силы своих команд, чтобы сосредоточить их энергию на стратегических целях.
Быстрая автоматизация
Оставайтесь гибкими с помощью решения, не требующего программирования. Предоставьте всем сотрудникам (от ответственных за функции до разработчиков программного обеспечения) инструменты, необходимые для применения RPA и DPA ко всему, что вы создаете на платформе Microsoft Power Platform.
Обновление устаревших решений
Модернизируйте устаревшие приложения и ручные рабочие процессы, на которые полагается ваша организация, с помощью RPA. Это даст вам возможность ускорить создание и итерацию решений в любом масштабе.
Узнайте, как клиенты используют Power Automate
Power Automate обеспечивает бесперебойную работу этого столетнего гиганта
Компания Ghttps://powerplatform.microsoft.com/ru-ru/power-automate/» target=»_blank»]powerplatform.microsoft.com[/mask_link]