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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

SALE! 50%

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

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

6100 3050 руб.

07.04.2014    98271    89    205    

172

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

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

30500 руб.

23.06.2023    18078    60    27    

62

Мессенджеры и боты 1С 8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Готовый чат-бот MAX для 1С виде расширения. Клиенты проверяют остатки и заказы прямо в мессенджере. Ролевая модель, гибкое меню, отправка файлов, диалоги. Подключайте свою логику через внешние обработки.

14640 руб.

26.03.2026    2852    4    0    

7

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

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

14900 руб.

15.11.2018    43181    58    60    

87

Мессенджеры и боты 1С:Предприятие 8 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Управление голосовыми ботами TWIN из 1С. Автоматизация звонков. Расширение позволяет разрабатывать свои обработки, которые могут программно создавать и запускать Задания для TWIN и получать из них результаты звонков.

12200 руб.

17.12.2024    1797    1    0    

1

Логистика, склад и ТМЦ Интеграция Роли и права Мессенджеры и боты Пользователь 1С:Предприятие 8 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Платные (руб)

Готовое решение для 1С:УТ 11.5 и 1С:УНФ 3.0, которое дает менеджерам, торговым представителям и руководителям быстрый доступ к остаткам, ценам и данным по номенклатуре прямо в MAX и Telegram. Поиск по наименованию, артикулу, коду и штрихкоду, избранное, персональные настройки складов и видов цен для каждого пользователя. База 1С не обязательно должна публиковаться в открытый интернет для конечных пользователей: решение может работать во внутреннем контуре компании через опубликованный HTTP-сервис 1С и отдельную серверную часть бота. Экономичная альтернатива отдельному мобильному приложению для отдела продаж: быстрее запуск, ниже затраты, меньше ручных уточнений между менеджером, складом и офисом. По запросу доступны демонстрация, проверка совместимости и обсуждение адаптации под ваши процессы.

5978 руб.

10.03.2026    1118    1    0    

2

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

Модуль отправки уведомлений и документов из 1С в мессенджер MAX. Счета, статусы заказов, автоподстановка данных. Без абонентской платы и скрытых комиссий.

5490 руб.

10.04.2026    1664    1    4    

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

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