Отправка сообщений из 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 Администрирование

См. также

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

Мощный модуль для интеграции 1С с чат-ботами: Telegram, Viber, WhatsApp, WhatsApp Business, Instagram, ICQ, Facebook, Vkontakte, Skype, Одноклассники, Яндекс.Алиса, Avito а так же виджеты чата для сайтов: Verbox, Jivochat. Это универсальное и эффективное решение с большими возможностями, простым интерфейсом, наличием визуального конструктора, базовыми сценариями поведения из коробки, позволяющий запустить чат-ботов в течении 1-го дня.

65000 руб.

08.10.2019    59107    35    0    

155

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

Интеграция мессенджера WhatsApp и 1С: УНФ, УТ, КА, ERP - отправка и получение сообщений, картинок, файлов и видео прямо в 1С. Расширение работает с сервисом GreenApi.

15600 руб.

23.06.2023    7234    48    11    

26

SALE! 25%

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

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

13200 9900 руб.

27.12.2021    35772    94    161    

190

SALE! 25%

Мессенджеры и боты Системный администратор Программист Бизнес-аналитик Пользователь Руководитель проекта Платформа 1С v8.3 Платные (руб)

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

15000 11250 руб.

18.06.2021    62498    300    269    

354

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

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

14900 руб.

15.11.2018    28885    31    48    

65

SALE! 50%

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

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

600 300 руб.

07.04.2014    85178    47    193    

134
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 09.12.20 21:45
2. user1503726 09.12.20 21:54 Сейчас в теме
Спасибо. Очень полезный инструмент.
3. wrooom 214 08.11.21 00:36 Сейчас в теме
Подскажите, куда нажать в Mangement studio ?
4. wrooom 214 08.11.21 13:36 Сейчас в теме
Вот как получить это окошко, которое вначале статьи?
5. ivv1970 29 09.11.21 22:11 Сейчас в теме
(4) Агент Sql Server - Задания - Создать задание - Шаги - Создать.
6. ivv1970 29 09.11.21 22:16 Сейчас в теме
(4) Естественно, для того, чтобы сообщение регулярно оправлялось, в задании необходимо настроить и расписание.)))
7. wrooom 214 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 214 09.11.21 23:07 Сейчас в теме
Спасибо. С другим ботом все работает. С новым буду разбираться.
9. wrooom 214 12.11.21 02:35 Сейчас в теме
(8) Новому боту в телеграм забыл разрешить писать сообщения ( не нажал на кнопку "запустить" )
Оставьте свое сообщение