End2End-SAM
Haben Sie einen Samba-Server, Hitachi Filer, NetApp Filer oder andere Systeme, die sich per SAM/SMB noch am Windows DC und NTLM authentifizieren? Natürlich könnten solche System auch Kerberos unterstützen aber aus Kompatibilität zur NTLM-Anmeldung nutzen diese immer noch einen SMB/SAM-Zugriff statt LDAP. Mit End2End-SMB kann ich solche Verbindungen von einem Windows Client mittels ADSI auch ihre Erreichbarkeit und Latenzzeit messen.
SAM-Zugriffe messen
Auf der Seite End2End File habe ich schon eine End2End-Messung per SMB auf Dateiserver beschrieben. Ein Dateizugriff ist aber nicht mit einem Zugriff auf die Benutzerdatenbank zu verwechseln.
Früher zu NT4-Zeiten war "NET.EXE" das Hilfsmittel, um Benutzer und Gruppen in der NT4-Domaindatenbank (SAM) zu lesen und zu setzen.
- Net User
https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/cc771865(v=ws.10) - NET Command
https://en.wikipedia.org/wiki/Net_(command) - NET Command
https://www.robvanderwoude.com/net.php - NET.EXE mit IPv6
https://learn.microsoft.com/de-de/windows/win32/winsock/net-exe-2
Nun möchte ich aus einer PowerShell keine EXE mehr starten, die dann erst eine Verbindung aufbaut. Aber über dein WinNT-Provider kann ich per ADSI auch eine SAMR-Abfrage starten, z.B.: auf den Administrator der Domain:
# Zuerst hole ich mit den Namen der Domain $domain = (Get-ComputerInfo).CsDomain # Wenn der admindn geliefert wird, dann war die Abfrage erfolgreich $admindn=([ADSI]"WinNT://$($domain)/Administrator").path
Die letzte Zeile kann ich natürlich auch zur Zeitmessung nutzen.

Die Abfrage hat hier nun ca. 30 Millisekunden gedauert. Wenn ich das sehr oft mache, dann lande ich bei meinem lokalen Netzwerk auf 8-12ms

Die Basis für eine Überwachung ist damit schon mal gelegt.
Pakete auf dem Kabel
Aber auch 10ms ist natürlich sehr viel, wenn Server und Client nebeneinander stehen. Daher habe ich auf dem Client mit Wireshark mit die Pakete angeschaut. Es waren noch einige Pakete mehr aber ich habe als Filter die IP-Adresse des Domain Controllers und "SAMR" als Protokoll genutzt, um die Anzeige zu kürzen.

Wir sehen hier aber sehr gut, dass der ADSI-Aufruf keine LDAP-Abfrage macht, sondern wirklich SAMR-Anfragen sendet. Insofern ist der Test schon legitim aber aufgrund der Menge an Paketen sind dann 10ms schon sehr schnell und sportlich.
Skript
Bislang habe ich noch kein Skript umgesetzt, welches diese Funktion in einen Regelbetrieb übernimmt. Das ist eine Aufgabe für end2end-NextGeneration, wenn ein Hauptskript die Prüfungen in eigene Tasks auslagert und ich nicht jedes mal den Code wiederholen muss.















