Se você não deseja farejar pacotes, recomendo um script do PowerShell em todos os computadores que testam uma conexão LDAP segura e registram quem falha. Você pode conectar-se remotamente aos clientes a partir do controlador de domínio ou criar um script do lado do cliente que registre falhas em um servidor de arquivos.
A ideia do script é simular uma conexão ldap segura. Ele usa a estrutura .net que vem nativamente no Windows 7 SP1 ou superior.
Caso você queira executar remotamente a partir do controlador de domínio, o script será semelhante a este (requer permissão para o PowerShell remoto, que pode ser obtido após este artigo 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
}
}
Ou se você deseja um script local que efetue login em um 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
}
Saída de uma versão remota de execução (as vermelhas são clientes offline):