Si no desea rastrear paquetes, recomendaría un script de PowerShell en todas las computadoras que prueban una conexión ldap segura y registran quién falla. Puede conectarse de forma remota a los clientes desde el Controlador de dominio o puede crear un script del lado del cliente que registre fallas en un servidor de archivos.
La idea del script es simular una conexión ldap segura. Utiliza .NET Framework que viene de forma nativa en Windows 7 sp1 o superior.
En caso de que desee ejecutar de forma remota desde el DC, el script se vería así (requiere permiso para PowerShell remoto que se puede lograr siguiendo este artículo https://www.briantist.com/how-to/powershell-remoting-group- política / ):
Import-Module ActiveDirectory
$domain = "contoso.com"
$user = "Administrator"
$password = "P@ssw0rd"
$IPFilter = "192.168.1.*"
$scriptblock = {
write-host "$(hostname) - " -NoNewLine
try {
$LDAPS = New-Object adsi ("LDAP://$($args[0]):636",$args[1],$args[2],'SecureSocketsLayer')
Write-Host "Secure LDAP Connection succeeded."
} Catch {
Write-Host "Secure LDAP Connection failed." -foregroundcolor red
}
}
$Computers = Get-ADComputer -filter * -Properties IPv4Address | Where{ $_.IPv4Address -like $IPFilter}
foreach($Computer in $Computers)
{
try {
$session = New-PSSession $Computer.Name -ErrorAction Stop
Invoke-Command -Session $session -ScriptBlock $scriptblock -ArgumentList $domain,$user,$password
}catch{
Write-Host "Connection to $($Computer.Name) failed." -foregroundcolor red
}
}
O si desea un script local que inicie sesión en un servidor remoto:
$domain = "contoso.com"
$user = "Administrator"
$password = "P@ssw0rd"
$LogFile = "\\fileserver\logs\ldapconnection.log"
try {
$LDAPS = New-Object adsi ("LDAP://$domain:636",$user,$password,'SecureSocketsLayer')
"$(hostname) - Secure LDAP Connection succeeded." | Out-File $LogFile -Append
} Catch {
"$(hostname) - Secure LDAP Connection failed." | Out-File $LogFile -Append
}
Salida de una ejecución de versión remota (las rojas son clientes fuera de línea):