fix: hide redundant workstation line in RDP login alerts 1.2.32-SAC

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
PTah
2026-05-31 18:55:11 +10:00
parent 78f241df32
commit 2118d4a4a0
2 changed files with 39 additions and 3 deletions
+37 -1
View File
@@ -82,7 +82,7 @@ $script:MonitorStopRequested = $false
# строки ниже, если правки «мелкие» и вы не хотите менять отображаемую версию в логах). # строки ниже, если правки «мелкие» и вы не хотите менять отображаемую версию в логах).
# Рекомендация: при значимых релизах меняйте и $ScriptVersion, и version.txt одинаково; при только # Рекомендация: при значимых релизах меняйте и $ScriptVersion, и version.txt одинаково; при только
# исправлениях на шаре — достаточно поднять patch в version.txt (например 1.3.0.1). # исправлениях на шаре — достаточно поднять patch в version.txt (например 1.3.0.1).
$ScriptVersion = "1.2.31-SAC" $ScriptVersion = "1.2.32-SAC"
# Логи (все под InstallRoot) # Логи (все под InstallRoot)
$LogFile = Join-Path $script:InstallRoot "Logs\login_monitor.log" $LogFile = Join-Path $script:InstallRoot "Logs\login_monitor.log"
@@ -2413,6 +2413,40 @@ function Get-LoginEventInfo {
return $eventData return $eventData
} }
function Test-RdpLoginShowWorkstationLine {
param(
[string]$WorkstationName,
[string]$ServerHostname = $env:COMPUTERNAME
)
$ws = if ($null -ne $WorkstationName) { [string]$WorkstationName.Trim() } else { '' }
if ([string]::IsNullOrWhiteSpace($ws) -or $ws -eq '-' -or $ws -eq 'N/A') {
return $false
}
$wsKey = $ws.ToLowerInvariant()
$hostKey = if ($null -ne $ServerHostname) { [string]$ServerHostname.Trim().ToLowerInvariant() } else { '' }
if ($hostKey -and $wsKey -eq $hostKey) {
return $false
}
if (Get-Command -Name Get-MonitorServerLabel -ErrorAction SilentlyContinue) {
$label = [string](Get-MonitorServerLabel)
if (-not [string]::IsNullOrWhiteSpace($label)) {
$labelKey = $label.Trim().ToLowerInvariant()
if ($wsKey -eq $labelKey) {
return $false
}
$base = ($label -split '\(', 2)[0].Trim().ToLowerInvariant()
if ($base -and $wsKey -eq $base) {
return $false
}
}
}
return $true
}
function Format-LoginEvent { function Format-LoginEvent {
param( param(
[int]$EventID, [int]$EventID,
@@ -2444,7 +2478,9 @@ function Format-LoginEvent {
$message += "👤 Пользователь: $hUser`r`n" $message += "👤 Пользователь: $hUser`r`n"
$message += "🏢 Сервер (журнал Security): $hLog`r`n" $message += "🏢 Сервер (журнал Security): $hLog`r`n"
if (Test-RdpLoginShowWorkstationLine -WorkstationName $ComputerName -ServerHostname $logHost) {
$message += "🖥️ Рабочая станция (клиент из события): $hWkst`r`n" $message += "🖥️ Рабочая станция (клиент из события): $hWkst`r`n"
}
$message += "🌐 IP адрес: $hIp`r`n" $message += "🌐 IP адрес: $hIp`r`n"
$message += "⚙️ Процесс/Код: $hProc`r`n" $message += "⚙️ Процесс/Код: $hProc`r`n"
$message += "🔑 Тип входа: $hLtName ($LogonType)`r`n" $message += "🔑 Тип входа: $hLtName ($LogonType)`r`n"
+1 -1
View File
@@ -1 +1 @@
1.2.31-SAC 1.2.32-SAC