Отправка сообщений из MS SQL Server в Telegram с использованием PowerShell

26.11.20

Интеграция - Мессенджеры и боты

Пример отправки логов  из MS Sql Server с использованием бота Telegram и PowerShell.

Предлагается очередной небольшой пример велосипеда для отправки логов  из MS Sql Server с использованием бота Telegram. Телеграмм для меня оказался очень удобным средством получения отчета о размере свободного места на дисках, гораздо удобнее электронной почты.

На infostart  уже есть большое количество решений для отправки сообщений в Telegram из 1С.  Но, мне не хотелось использовать  1С для такой задачи. Требования были просты – отправка сообщения о размере свободного пространства на локальных дисках по расписанию. Были варианты написания  программы на с или java, но  было решено пойти по самому простому пути – с помощью задания MS SQL Server. Делать почти ничего не нужно – только нажимай на кнопки мыши. Единственно, что необходимо придумать, - текст команды. Решено было сделать это с использованием PowerShell.

 

Текст скрипта:

#################################################################

$token = "128582948x:AAFN3xYJAxdxxxl-xxF_xxM8xt8NZFK4x5x"    

$chat_id = "123456789"                                                                                            

$text = ""

 

get-wmiobject win32_volume | ? { $_.DriveType -eq 3 -and $_.driveletter} | Sort-Object -Property Name |ForEach-Object {

      $text = $text + $_.Name+" %:"+[math]::round($_.FreeSpace/$_.Capacity*100,2)+ " abs: "+[math]::round($_.FreeSpace/1Tb,2)+"`n"

    }

 $URI = "https://api.telegram.org/bot" + $token + "/sendMessage?chat_id=" + $chat_id + "&text=" + $text

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Invoke-WebRequest -URI ($URI) –UseBasicParsing

###############################################################

Пояснения:

$token     – ключ бота-отправителя Telegram, получаем при создании бота из @BotFather;

$chat_id  -  идентификатор получателя Telegram,  адресат может узнать свой  идентификатор  из @chat_id_echo_bot;

$text = "" -  результирующая строка для отправки;

get-wmiobject win32_volume – получаем информацию о логических устройствах ;

| ? { $_.DriveType -eq 3 -and $_.driveletter}  - отбираем только жесткие диски, игнорируем USB и CDROMы;

| Sort-Object -Property Name                          -  сортируем  ;

|ForEach-Object {                                               - обходим массив дисков и информацию о каждом присоединяем к строке для отправки, где:

 $_.Name                                                               – имя логического диска

[math]::round($_.FreeSpace/$_.Capacity*100,2) – процент свободного места на диске ; [math]::round($_.FreeSpace/1Tb,2)           - размер свободного места на диске в Тб;

 "`n"                                                                        - перенос строки

 

Получаем примерно следующее сообщение:

«C:\% 78.38 abs 2.37

D:\% 49.60 abs 4.65

E:\% 21.54  abs12.33»

Далее отправляем сообщение:

Формируем запрос:

$URI = "https://api.telegram.org/bot" + $token + "/sendMessage?chat_id=" + $chat_id + "&text=" + $text

Устанавливаем протокол:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Отправка запроса:

Invoke-WebRequest -URI ($URI) –UseBasicParsing

PowerShell Telegram Администрирование

См. также

SALE! 25%

Конструктор ботов Телеграм, редакция 2

Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

Развитие популярного решения для интеграции мессенджера Telegram с нашей любимой 1С.

15000 11250 руб.

18.06.2021    59421    295    255    

349

SALE! 25%

Что нам стоит бота построить? Нарисуем - будет жить! Графический конструктор телеграм-ботов/Telegram

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 9900 руб.

27.12.2021    33796    82    159    

177

Легкий документооборот (+чат-бот для Telegram)

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Платные (руб)

Расширение для согласования справочников и документов в конфигурациях "1С: Бухгалтерия 3.0", "Управление нашей фирмой", "1С ERP Управление предприятием", "Бухгалтерия государственного учреждения". Ролевая адресация, условная маршрутизация, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    28005    26    48    

58

Email, SMS, Telegram рассылки из 1С - Директ Маркетинг

Управление взаимоотношениями с клиентами (CRM) Мессенджеры и боты SMS рассылки Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Полный набор инструментов для качественных транзакционных и маркетинговых Email, SMS, Telegram рассылок из 1С. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

7788 руб.

07.04.2014    83866    41    191    

128

Интеграция 1С с телефонией и чатами WhatsApp и Telegram

Телефония, SIP Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Россия Управленческий учет Платные (руб)

Интеграция 1С с телефонией и чатами WhatsApp и Telegram автоматизирует работу оператора со звонками и чатами и добавит вашей 1С элементы CRM системы. Храните всю историю взаимоотношений в 1С, не теряйте звонки, скачивайте, прослушивайте в любое время из карточки клиента или журнала звонков, держите руку на пульсе, используя блок отчетов по звонкам. Интегрируйте вашу 1С и чатами WhatsApp и Telegram, общайтесь с клиентами с единого номера и в одном окне. Теперь чаты с клиентами хранятся в карточке партнера в 1С, а не в личных мобильных ваших менеджеров.

4100 руб.

28.04.2022    14076    11    8    

36

Отправка в Telegram отчетов, печатных форм, присоединённых файлов и произвольных вложений. Загрузка получателей. Хранение истории отправок.

Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Платные (руб)

Универсальное расширение для отправки (напрямую и через прокси) печатных форм, отчетов, присоединённых файлов, табличных документов и произвольных вложений в чат Telegram прямо из 1С. Ручная и автоматическая фоновая загрузка по расписанию идентификаторов получателей Telegram. Хранение истории отправок сообщений с ограничением по времени хранения и с автоматической очисткой по мере истечения срока хранения.

4800 руб.

26.12.2023    2350    2    0    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 09.12.20 21:45
(0) Хорошо придумали.

+
+
2. user1503726 09.12.20 21:54 Сейчас в теме
Спасибо. Очень полезный инструмент.
+
3. wrooom 175 08.11.21 00:36 Сейчас в теме
Подскажите, куда нажать в Mangement studio ?
+
4. wrooom 175 08.11.21 13:36 Сейчас в теме
Вот как получить это окошко, которое вначале статьи?
+
5. ivv1970 28 09.11.21 22:11 Сейчас в теме
(4) Агент Sql Server - Задания - Создать задание - Шаги - Создать.
+
6. ivv1970 28 09.11.21 22:16 Сейчас в теме
(4) Естественно, для того, чтобы сообщение регулярно оправлялось, в задании необходимо настроить и расписание.)))
+
7. wrooom 175 09.11.21 22:34 Сейчас в теме
Просто в powershell выдает ошибку:

Invoke-WebRequest : {"ok":false,"error_code":400,"description":"Bad Request: chat not found"}
строка:19 знак:1
+ Invoke-WebRequest -URI ($URI) –UseBasicParsing
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebExc
eption
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
+
8. wrooom 175 09.11.21 23:07 Сейчас в теме
Спасибо. С другим ботом все работает. С новым буду разбираться.
+
9. wrooom 175 12.11.21 02:35 Сейчас в теме
(8) Новому боту в телеграм забыл разрешить писать сообщения ( не нажал на кнопку "запустить" )
+
Оставьте свое сообщение