
Я хочу отправить оповещение с помощью Powershell. Но я хочу узнать, есть ли другой способ отправить оповещение, кроме электронной почты.
Спасибо.
P.S. Я не могу отправлять письма, потому что у меня нет smtp-сервера, и из-за некоторых политик я не могу его установить. Кроме того, у сервера нет подключения к Интернету.
решение1
Если вы хотите отправлять оповещения по локальной сети (без использования почтового сервера), то лучшее, что я могу придумать, это Net Message. Конечно, есть ограничения, но это должно удовлетворить ваши требования и работать через любого клиента NT. Хотя для корректной работы вам понадобится контроллер домена, чтобы не возникало проблем с аутентификацией.
https://gallery.technet.microsoft.com/scriptcenter/Send-NetMessage-Net-Send-0459d235- Это скрипт, написанный кем-то умнее меня, который способен отправлять консольные сообщения по локальной сети без чего-либо даже напоминающего SMTP.
решение2
Существует множество способов «отправить оповещение», если у вас есть возможность подключиться к какой-либо системе оповещения.
Вы могли бы:
- Отправлено сообщение в журналы событий, если они отслеживаются каким-либо инструментом (с помощьюНовый-EventLog)
- БегатьPSExecчтобы вызвать что-то на другом компьютере, например, воспроизвести звуковой файл или запустить программу, возможно, с помощьюNirCMD
- Используйте Invoke-RestMethod или Invoke-WebRequest, если у вас есть веб-сервер с веб-интерфейсом оповещения, вы можете вызвать
- Отправлять SNMP-ловушки, если у вас есть прослушиватель SNMP-ловушек
- Используйте любой из интерфейсов TCP/IP .Net Framework для отправки произвольных сетевых пакетов, например:отправлять сообщения Syslogна сервер syslog
Проблемы с настройкой системы оповещений с использованием чего-то вроде NetMessage включают в себя: она отключена по умолчанию со времен Windows XP, она, скорее всего, блокируется брандмауэром Windows или сторонней защитой конечных точек, если вы пропустите сообщение, у вас не будет возможности проверить, что в нем говорилось, или снова получить оповещение.
Если мониторинг важен, лучше настроить разумную систему мониторинга, например, что-то вродеПРТГимеется бесплатная версия для 100 датчиков.
решение3
Вы можете использовать msg
для отправки сообщений пользователям. Следующее сообщение отправит всем пользователям, вошедшим в систему на удаленном ПК:
Invoke-Command -computername $computer -scriptblock { msg * "Enter message here" }
Самый простой способ отправки оповещений пользователям, если вы просто хотите предупредить их о проведении технического обслуживания или чем-то подобном.