Lister les erreurs d’authentification Radius (NPS) via PowerShell
Avec ça, vous aurez les dernières erreurs et leurs causes possibles.
$NpsServers=('DC01','DC02') $ReturnArray=@() $NPS_Filter="<QueryList> <Query Id=`"0`" Path=`"System`"> <Select Path=`"System`">*[System[Provider[@Name='NPS']]]</Select> <Select Path=`"System`">*[System[Provider[@Name='HRA']]]</Select> <Select Path=`"System`">*[System[Provider[@Name='Microsoft-Windows-HCAP']]]</Select> <Select Path=`"Security`">*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and Task = 12552]]</Select> </Query> </QueryList>" foreach ( $NpsServer in $NpsServers ) { foreach ( $Event in (Get-WinEvent -MaxEvents 800 -ComputerName $NpsServer -FilterXml ([xml]$NPS_Filter) | where {$_.message -like "*denied*"} ) ){ $Message=$Event.Message.Split("`n") $Retour = [PSCustomObject]@{ TimeCreated =$Event.TimeCreated MachineName =$Event.MachineName AccountName =((($Message |Select-String -Pattern "Account Name" -CaseSensitive)[0]).ToString().split(':')[1]).trim() AuthType =((($Message |Select-String -Pattern "Authentication Type" -CaseSensitive)[0]).ToString().split(':')[1]).trim() Reason ='' } if ($Message |Select-String -Pattern "Reason" ){ $Retour.Reason =((($Message |Select-String -Pattern "Reason:" -CaseSensitive)[0]).ToString().split(':')[1]).trim() } $ReturnArray+=$Retour } } $ReturnArray| ft -autosize
Laisser un commentaire