- Как показать собственное уведомление при помощи PowerShell?
- Вывод уведомлений через PowerShell в Windows 10
- Развертывание центров уведомлений и управление ими с помощью PowerShell Deploy and manage notification hubs using PowerShell
- Обзор Overview
- Предварительные требования Prerequisites
- Добавление ссылки на сборку .NET для Service Bus Including a reference to the .NET assembly for Service Bus
- Создание класса NamespaceManager Create the NamespaceManager class
- Подготовка нового центра уведомлений Provisioning a new Notification Hub
- Дополнительные ресурсы Additional Resources
- Как в Windows 10 создать пользовательское уведомление с помощью PowerShell
Как показать собственное уведомление при помощи PowerShell?
Для генерации всплывающих уведомлений в PowerShell можно использовать открытый модуль BurntToast , опубликованный в Галерее PowerShell. Для установки модуля достаточно выполнить эту команду и согласиться на внесение изменений нажатием клавиши Y:
Install-Module -Name BurntToast
Модуль BurntToast поддерживает показ только простейших уведомлений, которые могут включать в себя заголовок, текст, иконку, звуковое уведомление, кнопки будильника (Отложить и Отменить), а также настраиваемую кнопку, со ссылкой, например. Ознакомиться со всеми возможностями модуля можно в его документации, мы для примера использовали команду вида:
New-BurntToastNotification -Text «Заголовок уведомления«, ‘Тело уведомления‘ -AppLogo путь_к_иконке -Sound имя_одного_из_стандартных_рингтонов
В результате у нас получилось что-то вроде этой команды, но вы можете использовать и другой набор аргументов:
New-BurntToastNotification -Text «Сила — мой союзник!», ‘Да пребудет с вами Сила!’ -AppLogo D:\Stormtrooper.ico -Sound Call4
В результате на рабочем столе мы получили симпатичное уведомление с мелодичным рингтоном, полученное от PowerShell. Разумеется само по себе такое уведомление никакой смысловой нагрузки не несёт, полезнее использовать BurntToast в связке с другими вашими скриптами или командами, выполняемыми при помощи Планировщика задач, например.
Эта инструкция составлялась и проверялась в среде Windows 10 и Windows PowerShell 5.1, но никаких проблем с использованием BurntToast не возникло и в PowerShell Core 6.0. Для установки модуля понадобятся права администратора системы. Если вы впервые обращаетесь к PowerShell, возможно вам придётся снять ограничение на выполнение неподписанных сценариев командой Set-ExecutionPolicy Unrestricted.
Вывод уведомлений через PowerShell в Windows 10
Сегодня, мы будем вам рассказывать о том, что из себя представляет вывод уведомлений через PowerShell в Windows 10 и как данную настройку каждый из вас может полноценно реализовать у себя в операционной системе. Особенность описываемого нами способа заключается в том, что с его помощью у вас будут возможность добиться от всплывающих уведомлений совершенно иных рабочих возможностей, чем от тех, которые вы могли видеть при появлении «стандартных» уведомлений от системы. Только благодаря данным настройкам, ваши уведомления смогут получить не только обновленный облик, но и даже новое звуковое сопровождение. Таким образом, настройки самих уведомлений у вас так же будут весьма не плохо расширены и вы сможете самостоятельно решить, что вам необходимо, а от чего стоит отказаться.
Как выводить уведомления через PowerShell в Windows 10?
В данном случае, чтоб начать работать на все 100% с PowerShell, вам придется воспользоваться полностью бесплатным и максимально официальным модулем под названием «BurntToast». От вас просто потребуется перейти на страницу модуля, скачать его и согласиться на внесение изменений при помощи кнопки на клавиатуре «Y» или просто воспользуйтесь командой: «Install-Module -Name BurntToast» после чего, так же нажмите «Y».
Если рассматривать рабочие возможности модуля BurntToast, то тут стоит понимать, что основным направлением его работы, является то, что он может работать с простейшими уведомлениями вывод: сообщения, ссылок, иконок, использование будильника и тп.
Как вариант, для первого раза, вам идеально подойдет команда:
- «New-BurntToastNotification -Text «Заголовок уведомления», ‘Тело уведомления’ -AppLogo путь_к_иконке -Sound имя_одного_из_стандартных_рингтонов»
Которая в конечном итоге будет выглядеть так:
- New-BurntToastNotification -Text «Сила — мой союзник!», ‘Да пребудет с вами Сила!’ -AppLogo D:\Stormtrooper.ico -Sound Call4
Обратите внимание на то, что команда не обязательно должна быть точно такой же, как указана выше, ведь вы всегда можете воспользоваться дополнительными аргументами, что позволит создать совершенно новую, необходимую именно вам команду для вывода окна уведомлений.
Как итог, вы получите в конечном результат вывод уведомлений через PowerShell в Windows 10, которые будут сами по себе выглядеть очень аккуратно и качественно. Вот только тут стоит понимать, что использование данных уведомлений при помощи только PowerShell – это слишком простая задача и если у вас есть необходимость и желание, то можно поэкспериментировать с дополнительными скриптами, которые позволят сделать уведомления более информативными и качественными во всех смыслах этого слова.
Развертывание центров уведомлений и управление ими с помощью PowerShell Deploy and manage notification hubs using PowerShell
Обзор Overview
В этой статье рассказывается, как создать и управлять центрами уведомлений Azure с помощью PowerShell. This article shows you how to use Create and Manage Azure Notification Hubs using PowerShell. В этом разделе рассматриваются следующие общие задачи автоматизации. The following common automation tasks are shown in this article.
- Создание центра уведомлений Create a Notification Hub
- Настройка учетных данных Set Credentials
Если необходимо создать новое пространство имен служебной шины для ваших центров уведомлений, см. статью Управление служебной шиной с помощью PowerShell. If you also need to create a new service bus namespace for your notification hubs, see Manage Service Bus with PowerShell.
Управление центрами уведомлений не поддерживается напрямую с помощью командлетов, включенных в Azure PowerShell. Managing Notifications Hubs is not supported directly by the cmdlets included with Azure PowerShell. Лучше всего для PowerShell указать сборку Microsoft.Azure.NotificationHubs.dll. The best approach from PowerShell is to reference the Microsoft.Azure.NotificationHubs.dll assembly. Сборка входит в состав пакета NuGet для центров уведомлений Microsoft Azure. The assembly is distributed with the Microsoft Azure Notification Hubs NuGet package.
Предварительные требования Prerequisites
- Подписка Azure. An Azure subscription. Azure — это платформа на основе подписок. Azure is a subscription-based platform. Дополнительные сведения о получении подписки см. на страницах Как приобрести Azure, Предложения для участников или Создайте бесплатную учетную запись Azure уже сегодня. For more information about obtaining a subscription, see Purchase Options, Member Offers, or Free Trial.
- Компьютер с Azure PowerShell. A computer with Azure PowerShell. Инструкции см. в статье Установка и настройка Azure PowerShell. For instructions, see Install and configure Azure PowerShell.
- Общее представление о сценариях PowerShell, пакетах NuGet и платформе .NET Framework. A general understanding of PowerShell scripts, NuGet packages, and the .NET Framework.
Добавление ссылки на сборку .NET для Service Bus Including a reference to the .NET assembly for Service Bus
Управление центрами уведомлений Azure еще не включено в командлеты PowerShell в Azure PowerShell. Managing Azure Notification Hubs is not yet included with the PowerShell cmdlets in Azure PowerShell. Для подготовки центров уведомлений можно использовать клиент .NET, содержащийся в пакете NuGet для центров уведомлений Microsoft Azure. To provision notification hubs, you can use the .NET client provided in the Microsoft Azure Notification Hubs NuGet package.
Сначала убедитесь, что сценарий может найти сборку Microsoft.Azure.NotificationHubs.dll , которая устанавливается как пакет NuGet в проекте Visual Studio. First, make sure your script can locate the Microsoft.Azure.NotificationHubs.dll assembly, which is installed as a NuGet package in a Visual Studio project. Для гибкости сценарий выполняет такие действия: In order to be flexible, the script performs these steps:
- Определяет путь, по которому он был вызван. Determines the path at which it was invoked.
- Проходит по пути и находит папку с именем packages . Traverses the path until it finds a folder named packages . Эта папка создается при установке пакетов NuGet для проектов Visual Studio. This folder is created when you install NuGet packages for Visual Studio projects.
- Рекурсивно ищет в папке packages сборку с именем Microsoft.Azure.NotificationHubs.dll . Recursively searches the packages folder for an assembly named Microsoft.Azure.NotificationHubs.dll .
- Создает ссылку на сборку, чтобы типы стали доступны для дальнейшего использования. References the assembly so that the types are available for later use.
В сценарии PowerShell эти действия выполняются следующим образом: Here’s how these steps are implemented in a PowerShell script:
Создание класса NamespaceManager Create the NamespaceManager class
Для подготовки центров уведомлений создайте экземпляр класса NamespaceManager из пакета SDK. To provision Notification Hubs, create an instance of the NamespaceManager class from the SDK.
Получить правило авторизации для указания строки подключения можно с помощью командлета Get-AzureSBAuthorizationRule в составе Azure PowerShell. You can use the Get-AzureSBAuthorizationRule cmdlet included with Azure PowerShell to retrieve an authorization rule that’s used to provide a connection string. Ссылка на экземпляр NamespaceManager хранится в переменной $NamespaceManager . A reference to the NamespaceManager instance is stored in the $NamespaceManager variable. Для подготовки центра уведомлений используется $NamespaceManager . $NamespaceManager is used to provision a notification hub.
Подготовка нового центра уведомлений Provisioning a new Notification Hub
Для подготовки нового центра уведомлений используйте API .NET для центров уведомлений. To provision a new notification hub, use the .NET API for Notification Hubs.
В этой части сценария выполняется настройка четырех локальных переменных. In this part of the script, you set up four local variables.
- $Namespace : присвойте имя пространству имен, в котором нужно создать центр уведомлений. $Namespace : Set this to the name of the namespace where you want to create a notification hub.
- $Path : присвойте путь к имени нового центра уведомлений. $Path : Set this path to the name of the new notification hub. Например, MyHub. For example, «MyHub».
- $WnsPackageSid : присвойте идентификатор безопасности пакета своему приложению для Windows из Центра разработки для Windows. $WnsPackageSid : Set this to the package SID for your Windows App from the Windows Dev Center.
- $WnsSecretkey : присвойте значение секретного ключа своему приложению для Windows из Центра разработки для Windows. $WnsSecretkey : Set this to the secret key for your Windows App from the Windows Dev Center.
Эти переменные используются для подключения к пространству имен и создания нового центра уведомлений, настроенного для обработки уведомлений от служб уведомлений Windows (WNS) с использованием учетных данных WNS для приложения для Windows. These variables are used to connect to your namespace and create a new Notification Hub configured to handle Windows Notification Services (WNS) notifications with WNS credentials for a Windows App. Сведения о получении идентификатора безопасности пакета и секретного ключа см. в статье Начало работы с Центрами уведомлений для приложений универсальной платформы Windows. For information on obtaining the package SID and secret key see, the Getting Started with Notification Hubs tutorial.
- Фрагмент сценария использует объект NamespaceManager для проверки существования центра уведомлений, идентифицируемого по $Path . The script snippet uses the NamespaceManager object to check to see if the Notification Hub identified by $Path exists.
- Если его не существует, то сценарий создает NotificationHubDescription по учетным данным WNS и передает его в метод CreateNotificationHub класса NamespaceManager . If it does not exist, the script creates NotificationHubDescription with WNS credentials and passes it to the NamespaceManager class CreateNotificationHub method.
Дополнительные ресурсы Additional Resources
Некоторые готовые сценарии доступны для скачивания: Some ready-made scripts are also available for download:
Как в Windows 10 создать пользовательское уведомление с помощью PowerShell
Использование графических или звуковых уведомлений — самый распространённый способ напомнить себе о предстоящем событии. Создавать их проще и удобнее с помощью сторонних программ, да и вид они имеют более привлекательный, чем уведомления, реализованные с помощью windows-скриптов, впрочем, всё зависит от того, какой скрипт вы будете использовать. Если вы работаете в Windows 10 и у вас установлен PowerShell как минимум пятой версии (проверить версию консоли можно командой Get-Host).
Вы можете создавать с его помощью симпатичные уведомления, похожие на те, которые отправляют универсальные приложения. Для этого вам как минимум понадобятся права администратора и открытый модуль BurntToast, опубликованный в Галерее PowerShell.
Сначала установим модуль.
Запустите консоль PowerShell от имени администратора и выполните такую команду:
Подтвердите установку модуля из ненадёжного репозитория, введя «Y» и нажав ввод .
Создаваемые с помощью модуля BurntToast уведомления могут содержать заголовок, основной текст, изображение, кнопки отложки и отмены, а также ссылку. Получить полный список поддерживаемых параметров можно в официальной документации, в большинстве же случаев должно хватить трёх или четырёх параметров: заголовка, текста, иконки и рингтона. Создайте в Блокноте новый текстовый файл и вставьте в него следующую команду:
Если хотите, чтобы уведомление сопровождалось звуковым сигналом, добавьте параметр -Sound с именем одного из стандартных рингтонов, например, -Sound Call5.
Сохраните файл с расширением PS1 и запустите. Если модуль установился нормально, в области уведомлений должно появиться стандартное сообщение-тост.
Если PowerShell выдаст ошибку, разрешите выполнение неподписанных скриптов, выполнив в консоли команду Set-ExecutionPolicy Unrestricted .
К сожалению, в некоторых сборках Windows 10 модуль работает не совсем корректно. Команды выполняются без ошибок, но сообщения не выводятся даже если в Windows разрешена отправка уведомлений приложениями.
Что же касается уведомлений BurntToast, сами по себе они не несут никакой полезной нагрузки, использовать их есть смысл только в связке с другими скриптами или событиями в Планировщике заданий.