diff --git a/Login_Monitor.ps1 b/Login_Monitor.ps1
index 5a9ec5d..f374a6e 100644
--- a/Login_Monitor.ps1
+++ b/Login_Monitor.ps1
@@ -366,12 +366,17 @@ function Enable-SecurityAudit {
}
function Test-RDSDeploymentPresent {
+ # Узел только с RD Gateway (RDS-Gateway и т.п.) не считаем «полноценным RDS по сессиям» —
+ # для шлюза отдельное сообщение в Telegram (журнал Gateway, 302/303 к целевым ПК).
+ $gatewayOnlyFeatureNames = @('RDS-Gateway', 'RDS-WEB-ACCESS')
+
try {
if (Get-Command Get-WindowsFeature -ErrorAction SilentlyContinue) {
$rdsFeatures = @(Get-WindowsFeature -ErrorAction SilentlyContinue | Where-Object {
$_.Name -like 'RDS*' -and $_.InstallState -eq 'Installed'
})
- if ($rdsFeatures.Count -gt 0) {
+ $sessionOrHostLike = @($rdsFeatures | Where-Object { $gatewayOnlyFeatureNames -notcontains $_.Name })
+ if ($sessionOrHostLike.Count -gt 0) {
return $true
}
}
@@ -396,13 +401,13 @@ function Send-Heartbeat {
$message += "🖥️ Сервер: $env:COMPUTERNAME`r`n"
$message += "🕐 Время запуска: $timestamp"
if (Test-RDSDeploymentPresent) {
- $message += "`r`n🔐 RDS: обнаружена роль/компоненты Remote Desktop Services — в мониторинг входят также входы пользователей через RDS/RDP (события Security 4624/4625, типы входа по настройке скрипта)."
+ $message += "`r`n🔐 RDS (хост сессий): обнаружены компоненты RDS помимо чистого шлюза — в мониторинг входят входы по RDP/RDS на этом узле (Security 4624/4625, типы входа по настройке скрипта)."
}
if ($EnableRDGatewayMonitoring) {
try {
$gwLog = Get-WinEvent -ListLog $RDGatewayLogName -ErrorAction SilentlyContinue
if ($gwLog) {
- $message += "`r`n🌐 RD Gateway: журнал доступен — дополнительно фиксируются подключения через RD Gateway (302/303)."
+ $message += "`r`n🌐 RD Gateway: журнал шлюза доступен — дополнительно фиксируются подключения пользователей к внутренним целевым компьютерам через RD Gateway (события 302/303 в журнале шлюза)."
}
} catch { }
}
diff --git a/README.md b/README.md
index 7aa5b74..15bd7eb 100644
--- a/README.md
+++ b/README.md
@@ -77,7 +77,7 @@ powershell.exe -NoProfile -ExecutionPolicy Bypass -File "D:\Soft\Login_Monitor.p
- `D:\Soft\Logs\watchdog.log`
- Heartbeat:
- `D:\Soft\Logs\last_heartbeat.txt` обновляется примерно раз в час (по `$HeartbeatInterval`).
-- Telegram при старте: если обнаружена роль RDS (или типичный сервис RDS Session Host), в тексте явно указано, что мониторятся и входы через RDS/RDP; при доступном журнале RD Gateway — отдельная строка про события Gateway.
+- Telegram при старте: при установленном **RD Session Host** (или аналогичных компонентах RDS, не только шлюз) — строка про входы по RDP/RDS на этом сервере; при доступном журнале **RD Gateway** — отдельная строка про подключения к **внутренним целевым ПК** через шлюз (302/303). Узел только с ролью RD Gateway не дублирует формулировку «хост сессий».
## 5) Автоматический перезапуск при падении