Показать уведомление о сообщении из PowerShell

PowerShell – это расширенная форма командной строки. Он дополнен огромным набором готовых к использованию командлетов и дает возможность использовать .NET framework/C # в различных сценариях. Windows включает в себя инструмент с графическим интерфейсом, PowerShell ISE, который позволяет редактировать и отлаживать сценарии удобным способом. Иногда вам нужно показать уведомление из сценария PowerShell, чтобы сообщить пользователю, что какая-то задача выполнена. Вот несколько методов, которые вы можете использовать.

Сообщение из вашего сценария PowerShell может проинформировать пользователя о том, что ваш давно работающий скрипт завершил свою работу. Или он может сказать, что что-то не так или произошло что-то важное. Вот методы, которые я обычно использую.

Показать уведомление о сообщении из PowerShell

Самый простой метод включает классическое приложение Windows Scripting Host.

С PowerShell легко создать экземпляр COM-объекта. В нашем случае нам понадобится объект Windows.Shell из WSH. Его можно создать с помощью следующей команды:

 $ wsh = New-Object -ComObject Wscript.Shell 

Теперь мы можем использовать наш $ wsh для вызова методов, доступных для Wscript.Shell . Один из них – Popup , это то, что нам нужно. Можно использовать следующий код:

 $ wsh = New-Object -ComObject Wscript.Shell $ wsh.Popup ("Привет от Winaero") 

Метод Popup можно настроить. Например, вы можете указать его заголовок, назначить один из значков диалогового окна по умолчанию или показать дополнительные кнопки.

Настройка метода всплывающих окон

Синтаксис следующий.

 Popup (, , , ) 

Text – это текст, который вы хотите отобразить в сообщении.

SecondsToWait – целое число, содержащее количество секунд, в течение которых окно будет отображаться, пока оно не будет закрыто. Если ноль или опущено, окно сообщения остается до тех пор, пока пользователь не уволится.

Заголовок – это строка, содержащая заголовок, который будет отображаться как заголовок сообщения.

Тип – целое число, которое соответствует определенному виду и поведению, определенным в следующей таблице.

Значение Button
0 ОК
1 ОК, Отмена
2 Прервать,
Игнорировать, повторить
3 Да,
Нет, Отмена
4 Да, Нет
5 Повторить,
Отмена
16 Критический
32 Вопрос
48 Восклицательный знак
64 Информация

Чтобы получить желаемый значок и кнопки, объедините значения. Например, чтобы составить вопрос, используйте 1 + 32 в качестве значения Type . См. Следующий пример:

Метод Popup также может возвращать кнопку, которую пользователь нажал, чтобы закрыть всплывающее окно сообщения. См. следующую таблицу:

Возвращаемое значение Нажата кнопка
1 ОК
2 Отмена
3 Прервать
4 Повторить
5 Игнорировать
6 Да
7 Нет
-1 Нет, окно сообщения
было закрыто автоматически (тайм-аут)

Вы можете обработать возвращаемое значение следующим образом:

 $ result = $ wsh.Popup («Вам нравится Winaero?», 0, «Вопрос от PS», 1 + 32) 

В качестве альтернативы вы можете использовать вызов .NET Framework для отображения сообщения.

Использование MessageBox из .NET Framework

Команда, которую вам нужно использовать, выглядит следующим образом:

[System.Windows.MessageBox visible::Show(‘Hello from Winaero ‘)

Результат t:

Опять же, вы можете настроить его. Для справки см. Следующую страницу:

MessageBox.Show Method

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

Использование специального модуля BurntToast

Если вы не ограничены в использовании внешних модулей, вы можете использовать BurntToast .

Установите его следующим образом:

  1. Откройте PowerShell от имени администратора.
  2. Введите: Install-Module -Name BurntToast
  3. Модуль готов к использованию.

Чтобы отобразить уведомление, выполните команду:

Import-Module BurntToast
New -BurntToastNotification -Text "Winaero", "Hello from PowerShell"

Полную информацию и инструкции см. в галерее PowerShell .

Пожалуйста, продолжайте Обратите внимание на следующее. Чтобы увидеть ваше уведомление,

  1. Политика выполнения PowerShell должна быть настроена так, чтобы разрешить загрузку сторонних модулей.
  2. Если включена функция Focus Assist. в Windows 10 он может скрыть ваши уведомления BurntToast.
  3. Модуль можно удалить с помощью команды Uninstall-Module BurntToast .

Вот и все!

Оцените статью
digitdocom.ru
Добавить комментарий