2009-04-09 8 views
2

Ist es möglich, eine Liste von IP-Adressen (oder Computernamen) von Domänencomputern abzufragen, an denen ein Domänenbenutzer momentan angemeldet ist? Die Frage "Getting logged on user’s name with or without domain in Windows" kommt nahe, nur ich will das Gegenteil finden.Ist es möglich, eine Liste von IP-Adressen (oder Computernamen) abzufragen, die gerade von einem bestimmten Domänenbenutzer angemeldet sind?

Ich frage nach der Möglichkeit wegen meiner Unkenntnis über die Interna von Active Directory. Mein Bauchgefühl ist, dass Active Directory nur weiß, wann (und möglicherweise wo) ein Domänenbenutzer zuletzt authentifiziert wurde, und verfolgt keine aktuellen Sitzungen oder Abmeldungen.

Jede Sprache, die diese Lösung bietet, wird eine akzeptable Antwort sein, aber eine .NET-Lösung wird bevorzugt. Noch wichtiger, ich würde gerne wissen, ob das überhaupt möglich ist.

Antwort

1

Ich glaube nicht, dass es einen Ort gibt, an dem diese Information erhalten werden kann. Sie können herausfinden, wann sich ein Benutzer zum letzten Mal angemeldet hat und welcher Domänencontroller von AD authentifiziert wurde. Das Problem besteht jedoch darin, dass der erste Domänencontroller, der sich anmeldet, der Server ist, der sich authentifiziert. Dieser DC protokolliert diese Informationen dann in seinem Ereignisprotokoll, das sich auf jedem Host und nicht in einem zentralen System befindet. Sie können mehr über diese von diesen zu Links: http://support.microsoft.com/kb/175062 und http://www.tartoos.com/HomePage/Rtable/ComputerSchool/Networking/Net41.htm So gesehen, ich denke, Sie könnten die letzte Anmeldung von der LastLogonTimestamp AD-Eigenschaft aus dem Benutzerkonto abrufen und dann das Ereignisprotokoll von allen DCs in der Domäne, um herauszufinden, welcher DC es war, der sie authentifizierte und von welchem ​​System. Das alles wird nur das letzte System melden ... nicht alle Systeme, in denen sie angemeldet sein könnten. Wieder können Sie diese Ergebnisse mit den Abmeldezeiten vergleichen, die aus den DC-Ereignisprotokollen gezogen werden können ... aber das scheint wirklich ein großes Overkill-Problem zu sein, und Sie hätten besser ein Anmelde-/Abmeldeskript schreiben, bei dem diese Ereignisse protokolliert wurden zu einem zentralen Berichtssystem, das Sie für zukünftige Verwendung verwenden könnten.

Hier ist eine andere Alternative, Sie können Ihren WINS-Server abfragen die Anmeldeinformationen, die es für einen Benutzer abfragt, die das System zurückgeben sollte, in dem es glaubt, dass sie angemeldet sind, finden Sie in diesem Post für wie dies getan wird:

http://www.visualbasicscript.com/m_56230/tm.htm

im Grunde lautet der Befehl: "NETSH WINS SERVER \\WinsServerName SHOW NAME UserName 03"

wenn Sie irgendeine Art von Asset/System-Management-Software wie Desktop Authority verwenden, Altiris usw. dann können Sie mehr Glück zu erkunden, wo die Desktop-Agenten protokollieren diese Informationen, weil sie normalerweise Sie protokollieren diese Informationen auch in einigen SQL-Tabellen.