Имеется самописный скрипт для мониторинга неудачных попыток авторизации LDAP юзеров. Он создаёт из логов просмотра событий с EventId 4740 - (это блокировка учётной записи) txt файл, который читается python 3.11.
Сам скрипт:
import os, sys
import io
import ssl
import time
import smtplib
import subprocess
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
MAILPASS = os.environ.get('SecureKeyMail')
username = []
event = False
message = ''
user_lock = False
index = 32
ind = 1
p = subprocess.Popen(
[r"powershell.exe", r"C:\scripts\read_event_log.ps1"], stdout=subprocess.PIPE)
p.communicate()
while index != 0:
time.sleep(1)
body = ''
with io.open(r'C:\scripts\log.txt', encoding='utf-8') as log:
for i in log:
print(i, '**')
if '4740' in i:
event = True
#and 'DC.domain.com' in i \
#and 'Имя учетной записи:' in i \
#and 'Имя учетной записи: DC$' not in i \
#and 'Имя учетной записи: -' not in i:
if event == True and 'Имя учетной записи:' in i:
if' Имя учетной записи: DC$$' not in i:
print(i, '***')
username.append(i.split('Имя учетной записи:')[1])
print(username, '****')
message = ((username[0].split('\t\t')))[1]
print(message, '*****')
addr_from = "address@mail.com"
addr_to = "address@mail.com"
msg = MIMEMultipart()
msg['From'] = addr_from
msg['To'] = addr_to
msg['Subject'] = f'Заблокирована учётная запись пользователя {message}'
body = f"Учётная запись пользователя {message} была заблокирована!!! Было введено более 5-ти неверных паролей.\n LDAP Security"
msg.attach(MIMEText(body , "plain"))
server = smtplib.SMTP_SSL("smtp.server.com", 587)
server.set_debuglevel(1)
server.login("address@mail.com", MAILPASS)
server.ehlo('server.com')
server.sendmail(
"address@mail.com",
"address_2@mail.com",
msg.as_string()
)
username = []
index -= 1
ind+=1
server.quit()
при самостоятельном запуске скрипта руками, он отрабатывает как надо. Но как только я кидаю его в планировщик он не работает:
При этом журнал пишет что всё нормально. Но результат запуска выглядит так:
Не удаётся выяснить причину такого поведения планировщика... Подскажите в чём может быть проблема и как её поправить???