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

Публикация № 1332946 26.11.20

Администрирование БД - Администрирование СУБД

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

Пример отправки логов  из 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

Специальные предложения

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

См. также

Ошибка СУБД Column does not exist

Администрирование СУБД Бесплатно (free)

В данной статье на примере СУБД Postgre и конфигурации УНФ описывается метод исправления ошибки "Column does not exist". На просторах интернета натыкался на общее описание проблемы, что состав базы со стороны СУБД не соответствует той картине, что ожидает 1С. Надо приводить все в соответствие, а конкретных примеров не находил.

21.11.2021    287    tigcorp    2    

Базовые приемы работы с кластером 1С при помощи БСП

Администрирование СУБД БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

В данной публикации я рассматриваю базовые приемы работы с кластером серверных баз 1С, используя типовые типовые возможности библиотеки стандартных подсистем (БСП).

26.10.2021    3088    quazare    6    

Обновление платформы 1С тонкого клиента с вебсервера, когда сервер 1С ПРОФ

Администрирование веб-серверов Администрирование СУБД v8 1cv8.cf Бесплатно (free)

Обновление платформы 1С: тонкого клиента с вебсервера описывается на https://its.1c.ru/db/v8316doc#bookmark:adm:TI000001058, но по факту, следуя точно инструкциям вендора с ИТС, никому не удалось добиться результата. Выражаю благодарность Панюшкину Михаилу Михайловичу за разбор задачи и доведение ее до практического результата.

19.10.2021    1464    ser6702    13    

Клиент-серверный режим базы данных 1С8 для тестирования

Инструменты администратора БД Администрирование СУБД v8 1cv8.cf Бесплатно (free)

В публикации рассматриваются некоторые аспекты настройки базы данных 1С8.3 в серверном режиме, для тестирования обработок или расширений.

30.09.2021    1397    etmarket    3    

Зависание базы при создании/редактировании пользователей после конвертации базы с платформы 8.1 на 8.3

Администрирование СУБД v8 УТ10 Россия Бесплатно (free)

При переводе базы с платформы 8.1 на платформу 8.3 возникает проблема - база конвертится замечательно, но при редактировании или создании новых пользователей база напрочь зависает. Речь пойдёт о серверной базе данных.

29.09.2021    446    Kitri    4    

Создание второго кластера Postgresql, включение непрерывного архивирования и подключение 1С

Администрирование СУБД Бесплатно (free)

В этой статье я вам расскажу, как правильно создать и запустить второй кластер postgres`a, а также мы создадим на нем базу с помощью 1С.

08.09.2021    721    Vismut    4    

Перекуем Cloud на Oracle. Тестируем размещение 1С в облачной платформе Oracle Cloud.

Администрирование СУБД Облачные сервисы, хостинг v8 1cv8.cf Бесплатно (free)

После цикла публикаций про размещение 1С в облачных сервисах я думал, что все различные варианты рассмотрены и тема для меня закрыта. Однако есть события, мимо которых не пройти. Так вот и сейчас, когда наблюдается аттракцион невиданной щедрости от Oracle, мимо этого просто так не пройти.

02.09.2021    682    capitan    22    

Метод быстрой реструктуризации больших таблиц (10 миллионов записей и более) через SQL Server Managment Studio

Администрирование СУБД Структура метаданных Бесплатно (free)

Бывает так, что в какой-то объект метаданных решают добавить новый реквизит или даже табличную часть, а чуть позже выясняется, что таблица насчитывает десятки или даже сотни миллионов записей. Как-же быть в таком случае?

30.08.2021    4810    orfos    64    

Исправление ошибки плана обслуживания MS SQL

Архивирование (backup) Администрирование СУБД Россия Бесплатно (free)

Частный случай решения ошибки выполнения планов обслуживания MS SQL.

20.08.2021    885    TokarevV    1    

Показатель Page Life Expectancy (PLE)

HighLoad оптимизация Администрирование СУБД Бесплатно (free)

От переводчика: публикация составлена по материалам BrentOzar.com (Brent Ozar).

18.08.2021    1456    vasilev2015    6    

Кластер для отказоустойчивости

HighLoad оптимизация Администрирование СУБД Бесплатно (free)

На Infostart Meetup «PostgreSQL VS Microsoft SQL» выступил руководитель проектов в по разработке ПО в компании «Газинформсервис» Денис Рожков. В рамках доклада Денис рассказал о том, какие механизмы кластеризации используются для PostgreSQL и в MS SQL и поделился с коллегами, какие решения можно использовать для построения отказоустойчивого кластера на PostgreSQL.

18.08.2021    2683    FB_3393521717335803    0    

Что на самом деле делает администратор базы данных (DBA)?

Администрирование СУБД Бесплатно (free)

От переводчика: публикация составлена по материалам BrentOzar.com (Brent Ozar).

17.08.2021    2113    vasilev2015    2    

Почему PostgreSQL не лучше MS SQL

Администрирование СУБД Администрирование ИТ-инфраструктуры Бесплатно (free)

На онлайн-митапе "PostgreSQL VS Microsoft SQL" выступил с докладом руководитель ИТ в компании "Инфософт" Антон Дорошкевич. Он сравнил работу MS SQL и PostgreSQL, поделился методическим пособием по настройке PostgreSQL для 1С и объяснил, кому нужно перейти на новую СУБД, а кому лучше работать с тем, что есть.

09.08.2021    18722    a.doroshkevich    53    

Обновление 1С: Розницы с релиза 2.3.8.27 до 2.3.9.28

Администрирование СУБД v8 Розница Россия Бесплатно (free)

Многие уже столкнулись с тем, что не смогли обновить 1С: Розницу релиз 2.3.8.27 на более поздние релизы. Напомню, релиз 2.3.8.27 - позволял-таки нам работать в ЕГАИС 4. Но а вот с дальнейшими обновлениями...

05.07.2021    6345    13D    25    

Как подключиться к хранилищу конфигурации на сервере за NAT, если есть доступ по RDP?

Администрирование СУБД Хранилище v8 Бесплатно (free)

В статье находится инструкция по подключению базы 1С к хранилищу конфигурации, если хранилище не опубликовано в интернет, но опубликовано по TCP в локальной сети клиента.

01.06.2021    2647    Dipod    13    

Как получить полный доступ к данным файловой базы 1С

Инструменты администратора БД Администрирование СУБД Роли и права Пароли 8.3.14 1cv8.cf Бесплатно (free)

Опыт перевода файловой базы 1С в клиент-серверный вариант работы при отсутствии административного доступа (авторизации) в базе.

31.05.2021    1476    info1i    2    

Как добыть последнюю версию SQL Server 2012 Native Client

Администрирование СУБД Администрирование ИТ-инфраструктуры v8 Бесплатно (free)

Краткое руководство администраторам 1С по получению свежей версии SQL Server 2012 Native Client, необходимого для работы сервера 1С.

13.05.2021    2272    tedkuban    3    

Простой метод установки postgresql-12 от 1С на Archlinux/Manjaro

Администрирование СУБД Linux Бесплатно (free)

Инструкция по установке дистрибутива postgresql-12 от 1С на Arch и Manjaro, совсем без красноглазия

02.05.2021    1064    cdiamond    4    

Ускорение реструктуризации больших таблиц. Мой вариант

HighLoad оптимизация Администрирование СУБД BigData v8 1cv8.cf Бесплатно (free)

Тот случай, когда с документом или справочником работали годами, наколотили миллионы строк и десятки, а может, и сотни гигабайт данных, как вдруг бизнесу потребовалось добавить реквизитов.

28.04.2021    1320    buganov    0    

Xubuntu 20.04 для бухгалтера 1С

Linux Администрирование СУБД v8 БП3.0 Россия Бесплатно (free)

В публикации представлен необходимый минимум для настройки Xubuntu 20.04 в качестве рабочего места бухгалтера, ведущего учёт в программе 1С: Бухгалтерия 3.0 файловый вариант. Кроме этого, настроено подключение и других сотрудников через тонкий клиент 1С к опубликованной на веб-сервере базе бухгалтерии.

12.04.2021    4835    compil7    25    

Режим совместимости конфигурации 1С

Администрирование СУБД v8 1cv8.cf Россия Бесплатно (free)

Приветствую, коллеги! В этой статье будет сделан обзор функции совместимости конфигурации 1С с другими версиями конфигураций 1С, а также рассмотрено, как выбрать и настроить режим совместимости конфигурации с версией 1С 8.3. Во-первых, разберём главное понятие в этой статье: режим совместимости в конфигурации – это устройство, благодаря которому выводится номер версии системы, под которую станет открыто приложение 1С:Предприятие. Данный режим существует на платформе 1С начиная с версий 8.2 и 8.3 (платформа версии 1С:Предприятие 8.3 совместима с платформой версии 1С:Предприятие 8.2).

31.03.2021    6007    Koder_Line    3    

Как мы на Managed Service for SQL Server в Yandex.Cloud переезжали

Администрирование СУБД Облачные сервисы, хостинг Бесплатно (free)

Рассказ про грабли при переезде на Yandex Managed Service for SQL Server и DataLens.

02.02.2021    1283    dsdred    5    

Платформа 8.3.18 Обновление ИБ в пакетном режиме поломалось? Решено

Администрирование СУБД v8 Бесплатно (free)

Уже давно работаем с большим количеством ИБ и обновляем, естественно, в пакетном режиме, но с переходом на новую платформу 8.3.18.1208 этот пакетный режим поломался. Стало появляться окно конфигуратора и спрашивать вопросы, раньше такого не было. Решение найдено.

24.12.2020    6293    VPanin56    14    

Сравнение архитектуры двух СУБД.

Администрирование СУБД Бесплатно (free)

Избранные административные представления.

09.09.2020    2277    vasilev2015    4    

Сбой, отказ 1C:Предприятия 7.7, код исключения e06d7363. APPCRASH 1cv7s.exe

Администрирование СУБД Журнал регистрации v7.7 1cv7.md Бесплатно (free)

Прекращена работа программы "1CV7 starter program". Никто не может зайти в 1C 7.7. Апкреш. Что делать? Проверьте, возможно журнал регистрации информационной базы 1С: Предприятия 7.7 поврежден.

17.08.2020    2106    ksnik    3    

Восстановление полнотекстового поиска в базе данных. Клиент-серверный вариант. Моя практика.

Администрирование СУБД v8 Бесплатно (free)

Восстановление полнотекстового поиска в базе данных. Клиент-серверный вариант.

06.08.2020    1120    premierex    3    

Администрирование списка баз Windows правами.

Администрирование СУБД v8 Бесплатно (free)

Все пользуются, а статьи по администрированию списка баз нет. Непорядок.

03.08.2020    1267    sergey279    0    

Линукс как основной многофункциональный сервер небольшой компании. Наш опыт

Администрирование СУБД Linux Бесплатно (free)

Однажды, в порыве повышения лицензионности используемого софта, мы решили поставить на наш старенький сервер опен сорс линукс. Был совсем небольшой опыт работы на локальных машинах под линуксом (успешный). Продвинутого опыта работы с линуксом не было. Но в сети довольно много позитивного опыта развертки такой архитектуры, и мы решились. Данная статья точно НЕ является мануалом по установке линукс, но уверен, будет неплохим дополнением.

08.06.2020    6212    ogroup    22    

Выявляем и оптимизируем ресурсоемкие запросы 1С:Предприятия

HighLoad оптимизация Администрирование СУБД Технологический журнал Структура метаданных v8::Запросы Бесплатно (free)

Обычно предметом оптимизации являются заранее определенные ключевые операции, т.е. действия, время выполнения которых значимо для пользователей. Причиной недостаточно быстрого выполнения ключевых операций может быть неоптимальный код, неоптимальные запросы либо же проблемы параллельности. Если выясняется, что основная доля времени выполнения ключевой операции приходится на запросы, то осуществляется оптимизация этих запросов. При высоких нагрузках на сервер СУБД в оптимизации нуждаются и те запросы, которые потребляют наибольшие ресурсы. Такие запросы не обязательно связаны с ключевыми операциями и заранее неизвестны. Но их также легко выявить и определить контекст их выполнения, чтобы оптимизировать стандартными методами.

24.05.2020    11524    DataReducer    22    

Секционирование в PostgreSQL 12

Администрирование СУБД Бесплатно (free)

Протестируем новый функционал секционирования в PG12.

20.05.2020    6186    D_astana    46    

Настоящий краудфандинг. Даешь сравнение двух СУБД!

Администрирование СУБД v8 Бесплатно (free)

Первый вариант сравнения двух СУБД. Каждый может внести правку и получить SM. Приветствуются конструктивные комментарии, начинающиеся словами "Автор ничего не понимает".

11.05.2020    3045    Mari_Kuznetzova    25    

DBCC CHECKDB оповещение о повреждении баз данных SQL

Администрирование СУБД Россия Бесплатно (free)

Проверка целостности баз данных SQL при помощи DBCC CHECKDB и рассылка оповещений на почту.

09.05.2020    3801    P_enemy    3    

Эти занимательные временные таблицы

HighLoad оптимизация Администрирование СУБД v8 Бесплатно (free)

Кое-что интересное о временных таблицах и работе платформы 1С с ними.

06.04.2020    16563    YPermitin    0    

Как работает 1С размером 13 ТБ в условиях непрерывной разработки

Перенос данных из 1C8 в 1C8 Администрирование СУБД Бесплатно (free)

Обеспечение быстрого непрерывного обмена данными между высоконагруженными системами 1С, покрывающими всю территорию России, требует ответственного подхода к архитектуре и инструментам, используемым для обмена. Как правильно построить такую инфраструктуру и научиться ее оперативно мониторить, в своем докладе на конференции Infostart Event 2019 Inception рассказал разработчик компании «ДНС Ритейл» Максим Старков.

27.03.2020    13832    max_st    54    

1С + Apache + SSL: Перевод опубликованной базы на защищенное соединение https с сертификатом от Let's encrypt windows

Администрирование СУБД v8 1cv8.cf Бесплатно (free)

Есть куча инструкции про связку с ISS, решил добавить свои 5 копеек, как я это настраивал на Apache на Windows.

02.03.2020    5423    rst_filippov    5    

Ошибка при обновлении: Записи регистра сведений стали неуникальными: Двоичные данные файлов

Администрирование СУБД v8 Бесплатно (free)

Способ обойти ошибку обновления Записи регистра сведений стали неуникальными: ДвоичныеДанныеФайлов.

26.02.2020    12300    dubovenko_m    16    

Контроль места на дисках

Администрирование СУБД v8 1cv8.cf Бесплатно (free)

Один из последних случаев на работе. Диск, на котором хранились файлы базы, "развалился", база потеряна. Начали искать копию базы. Копии базы делались на другой диск, но оказалось, что на том диске нет места и копии не делались несколько дней. Так было потеряно несколько дней работы фирмы, кому-то выговор, кого-то уволили((.

20.02.2020    4012    wowik    21    

Нюансы лицензирования 1С

Администрирование СУБД v8 1cv8.cf Россия Бесплатно (free)

Эта памятка написана изначально самому себе, но будет полезна другим, т.к. в вопросах лицензирования 1С есть тонкие нюансы, которые нужно знать как покупателям, так и продавцам 1С.

19.02.2020    14764    fixin    112    

Сказ о том, как online_analyze INSERT "удлинял"

Статистика базы данных Администрирование СУБД Бесплатно (free)

Немного о тонкостях работы модуля online_analyze для PostgreSQL. Опус для тех, у кого, как и у меня, не всегда хватает времени на то, чтобы разобраться, как это работает, и поэтому бывает так, что следуешь рекомендациям из сети и пользуешься методом "копипаста", пока не прижмет.

10.02.2020    3444    Sloth    2    

Настройка SoftEther VPN Client на Linux Debian/Ubuntu/Mint (связка Linux-Windows)

Администрирование СУБД Windows Linux Россия Бесплатно (free)

На сервере установлен и настроен VPN через программное обеспечение SoftEter VPN Server, настроены клиенты с доступом по сертификату, встала задача настроить доступ клиента из Linux и подключиться по RDP (VNC) в Windows к серверу VPN.

04.02.2020    9359    ClickUp    9