Многие админы, кто сталкивается с изготовлением ЭЦП для сотрудников, сталкиваются с проблемой и задаются вопросом, как отслеживать срок их окончания, что бы успеть их продлить?
Существует много вариантов реализаций, например ведение их в MS Excel, уведомление на почту, напоминания и тд. Я же предложу способ, как отслеживать срок окончания ЭП с помощью скрипта на PowerShell + самое главное – это напоминания, которые будут отправляться в телеграмм.
Скрипт проверяет дату окончания ОТКРЫТОГО ключа сертификата. Но не забываем, что есть еще дата окончания закрытой части и она может отличаться.
Вводные данные:
Для организации автоматических проверок, нам необходимо:
1. Каталог на локальном диске или сетевом хранилище, куда необходимо положить открытие части ключа
2. Компьютер или сервер, который будет постоянно включен
3. Бот в телеграмме, его id
4. Созданный чат, куда будет добавлен этот бот + id этого чата
Содержание статьи:
- Описание скрипта на PowerShell
- Проверка работоспособности скрипта + отправка уведомлений в Telegram
- Добавление скрипта в планировщик Windows
1. Описание скрипта на PowerShell.
Сам скрипт, можно скачать по ссылке.
Открываем его от имени администратора в Windows PowerShell ISE. В консоли выполняем команду, которая в этом сеансе разрешит выполнять скрипт
Set-ExecutionPolicy RemoteSigned
Теперь смотрим основные параметры скрипта
$certFolders = @( # Указываем каталог или каталоги хранения открытых частей сертификатов "C:\test" )
Здесь указываем каталог, куда помещаем открытые части ключей ЭЦП. Помещаем их непосредственно в корень папки
Дальше, самый важный переменная.
#Указываем количество дней. Если срок действия сертификата будет равен или будет меньше этого количества дней - будет приходить уведомление. $DateEndCert = 60
$DateEndCert – это переменная, в которую запишем количество дней. Если срок действия сертификата будет равен или будет меньше количества этих дней – нам будет приходить уведомление в телеграмм.
Далее, нам необходимо указать токен нашего бота и id чата
#Указываем токен телеграмм и чат $botToken = "151231233018:AAF5вSf@fff4xbWrD3gPi8PBYss" $chatId = "-469722212345578"
2. Проверка работоспособности скрипта + отправка уведомление в Telegram
Теперь, поместив открытые части ключа в заданную папку, проверяем работу скрипта. Если всё сделано верно, то нам в телеграмм в наш чат, придет уведомление
Добавление скрипта в планировщик Windows
Здесь тоже есть небольшой нюанс, что бы скрипт правильно отрабатывал.
Добавляем в планировщик задание, частоту запуска указываете ту, которая необходимо. Я поставил 1 раз в сутки. Далее заходим в свойства задачи.
Для начала, указываем что саму задачу, мы будем запускать от пользователя SYSTEM
Далее, переходим на вкладку действия, выбираем наше действие
В поле “Программа или сценарий” пишем
powershell.exe
И добавляем аргумент
-ExecutionPolicy Bypass -NonInteractive -WindowStyle Hidden -File "C:\Script\CheckSERT.ps1"
После этого в ручную проверяем запуск задания.