PowerShell - это расширенная форма командной строки. Он расширен огромным набором готовых к использованию командлетов и дает возможность использовать .NET framework / C # в различных сценариях. Windows включает в себя инструмент с графическим интерфейсом, PowerShell ISE, который позволяет редактировать и отлаживать сценарии удобным способом. Иногда вам нужно показать уведомление из сценария PowerShell, чтобы сообщить пользователю, что какая-то задача выполнена. Вот несколько методов, которые вы можете использовать.
Реклама
Сообщение от вашего сценария PowerShell может проинформировать пользователя о том, что ваш длительный сценарий завершил свою работу. Или он может сказать, что что-то не так или произошло что-то важное. Вот методы, которые я обычно использую.
Показать уведомление о сообщении из PowerShell
Самый простой способ предполагает классический Хост сценариев Windows приложение.
как сделать резервную копию itunes на другой диск
С помощью PowerShell легко создать экземпляр COM-объекта. В нашем случае нам понадобится объект Windows.Shell из WSH. Его можно создать с помощью следующей команды:
$ wsh = Новый объект -ComObject Wscript.Shell
Теперь мы можем использовать наш$ wsh
объект для вызова методов, доступных дляWscript.Shell
. Один из них являетсяВыскакивать
, это то, что нам нужно. Можно использовать следующий код:
$ wsh = New-Object -ComObject Wscript.Shell $ wsh.Popup ('Привет из Winaero')
ВВыскакивать
метод можно настроить. Например, вы можете указать его заголовок, назначить один из значков диалогового окна по умолчанию или показать дополнительные кнопки.
Настроить метод Popup
Синтаксис следующий.
Выскакивать(,,,)
Текст
это текст, который вы хотите показать в сообщении.
SecondsToWait
- целое число, содержащее количество секунд, в течение которых поле будет отображаться до закрытия. Если ноль или опущено, окно сообщения остается, пока пользователь не уволится.
заглавие
- это строка, содержащая заголовок, который будет отображаться как заголовок сообщения.
Тип
- целое число, которое соответствует определенному виду и поведению, определенным в следующей таблице.
Значение | Кнопка |
---|---|
0 | Хорошо |
1 | ОК, Отмена |
2 | Аборт, Игнорировать, повторить попытку |
3 | Да, Нет, отменить |
4 | Да нет |
5 | Повторить, отменить |
16 | Критический |
32 | Вопрос |
48 | Восклицание |
64 | Информация |
Чтобы получить желаемый значок и кнопки, объедините значения. Например, чтобы составить вопрос, используйте 1 + 32 в качествеТип
значение. См. Следующий пример:
Метод 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] :: Show ('Привет от Winaero')
Результат:
материал инкогнито темная тема
Опять же, вы можете настроить это. Для справки см. Следующую страницу:
Наконец, есть специальный модуль для PowerShell, который вы можете использовать, когда это возможно.
Используя специальный модуль BurntToast
Если вы не ограничены в использовании внешних модулей, вы можете использовать BurntToast .
Установите его следующим образом:
- открыто PowerShell в качестве администратора .
- Тип:
Установить-модуль-имя BurntToast
- Модуль готов к использованию.
Чтобы отобразить уведомление, выполните команду:
Модуль импорта BurntToast
New-BurntToastNotification -Text 'Winaero', 'Hello from PowerShell'
Увидеть Галерея PowerShell для получения полной информации и инструкций.
Имейте в виду следующее. Чтобы увидеть ваше уведомление,
- Политика выполнения PowerShell должен быть настроен чтобы разрешить загрузку сторонних модулей.
- Если Поддержка фокусировки включена в Windows 10 он может скрывать ваши уведомления BurntToast.
- Модуль можно удалить командой
Удаление-модуль BurntToast
.
Это оно!