devcode
Goto Top

Fehlerhafte Anmeldeversuche protokollieren

Hallo Leute,

habe folgendes Problem. Ein Domänen-Konto von uns wird dauerhaft gesperrt (Ab 10 fehlgeschlagenen Anmeldeversuchen), was die Arbeit des Mitarbeiters ziemlich einschränkt.
Wir konnten herausfinden, dass die Anmeldeversuche von verschiedenen Rechner kommen. (Evtl. veraltete Anmeldeinfos hinterlegt.)
Gibt es eine Möglichkeit auf dem Rechner zu prüfen, welche Anwendungen, Dienste oder Aufgaben eine fehlerhafte Anmeldung verursachen? (War im Eventlog nicht aufgelistet)

Sry das es so schlecht beschrieben ist.

mfg Patrick

Content-ID: 511823

Url: https://administrator.de/contentid/511823

Ausgedruckt am: 22.11.2024 um 05:11 Uhr

141575
141575 05.11.2019 aktualisiert um 14:49:36 Uhr
Goto Top
colinardo
Lösung colinardo 05.11.2019, aktualisiert am 06.11.2019 um 14:41:39 Uhr
Goto Top
Servus Patrick,
für den Zweck hab ich mir mal ein Powershell-Skript (das lokal am Client ausgeführt wird) geschrieben, schau mal ob du damit dein Problem in den Griff bekommst.
(War im Eventlog nicht aufgelistet)
Da steht aber mehr drin als man denkt. Die meisten prüfen hier nur die gängigen Logs (System/Application/Security), aber die Application/Operational-Logs geben weit mehr Infos dazu her als man auf den ersten Blick erkennt.
Und nicht vergessen auch einen Blick in den Tresor (Anmeldeinformationsverwaltung) zu werfen.
<#
    Get local failed logon events for scheduled tasks, services, applications
#>
cls
$logfile = "$env:TEMP\$([io.Path]::GetRandomFileName())"  
do {
    $days = Read-Host "What time period (days) do you want to include in the log (press ENTER for 7 Days)?"  
    $days = @{$true=7;$false=$days}[$days -eq '']  
}until($days -match '\d+')  

# startdate back in time
$start = (get-date).AddDays(-$days).Date

write-host "`nRetrieving log information starting from $($start.toString('d')), please wait...`n" -F Green  

#region >> data collection <<

# scheduled tasks with logon failures
$data_tasks = Get-WinEvent -FilterHashtable @{Logname="Microsoft-Windows-TaskScheduler/Operational";Id=104;StartTime=$start}  
# Services with credential errors
$data_services = Get-WinEvent -FilterHashtable @{LogName="System";ProviderName = 'Service Control Manager';Level=2;Id=7038;StartTime=$start}  
# Generic Logon Events
$data_logonevents = Get-WinEvent -FilterHashtable @{LogName='Security';Id=4625;StartTime=$start}  

#endregion

#region >> Log Output <<
@"  
Recent Scheduled Tasks with logon credential problems:`n$('='*60)  
$($data_tasks | ft TimeCreated,Message -AutoSize -Wrap | out-string)

Services with logon credential problems:`n$('='*60)  
$($data_services | ft TimeCreated,Message -AutoSize -Wrap | out-string)

Generic Logon errors:`n$('='*60)  
$($data_logonevents | ft TimeCreated,@{n='Application/Process';e={$_.Properties[18].Value}},@{n='Username';e={$_.Properties[6,5].Value -join '\'}} -AutoSize -Wrap | out-string)  
"@ | out-file $logfile -Encoding utf8  
#endregion

write-host "Opening log '$logfile'." -F Green  
start notepad $logfile
Wir konnten herausfinden, dass die Anmeldeversuche von verschiedenen Rechner kommen.
Von verschiedenen? Au hauahauaha, da hätte aber jemand kräftig in die Sch... gegriffen wenn die Creds dort überall hinterlegt wären. Eine bereitgestellte Anwendung wäre aber auch ein möglicher Kandidat. In Zukunft => Managed Service Accounts für solche Anwendungen verwenden.

Grüße Uwe
Bitboy
Lösung Bitboy 06.11.2019 aktualisiert um 14:33:17 Uhr
Goto Top
Moin,

immer schwierig sowas, es hilft auf jeden Fall den Mitarbeiuter zu fragen ob er mal Aufforderungen zur Passworteingabe hatte und ob er sich an das Programm erinnert.

Anmeldeinformationsverwaltung ist immer nen guter Anlaufpunkt.

Dann noch Geplante Tasks und Dienste.

Wenn da nichts zu finden ist kanns lustig werden.
Erst mal die Rechner prüfen die im Log auftauchen und schauen ob da noch ne aktive Anmeldung ist und ob die sein muss.

Edit: Vergessen, es gibt da noch dieses Lockout Tool. https://www.microsoft.com/en-us/download/details.aspx?id=18465
Grüße