Klaus Mock: NT-User herausbekommen

Beitrag lesen

Hallo,

Vielleicht hat ja jemand eine Idee. *hoff*

Mir würden da zwei Möglichkeiten einfallen. Ob sie gangbar und/oder praktikabel sind, sei einmal dahingestellt

1.) Es gibt ja mit NT die Möglichkeit, Logon- bzw. Logoff-scripts ausführen zu lassen. Das Logon-Script könnten auf dem Web-Server die Zuordnung IP-Adresse-User ablegen, während das Logoff-Script diese Information wieder löscht. Das muß ja nicht zwangsläufig per HTTP passieren, sondern könnte auch von einem eigens dafür geschriebenen Binärprogramm erledigt werden (eventuell auch mit Verschlüsselung).

Anwendungen am Webserver könnten dann aufgrund der IP-Adresse des Clients den entsprechenden User raussuchen und mit dieser Information weiter arbeiten.

2.) Ein Programm/Dienst auf einem Windowsrechner, günstigenfalls ein Server, verwendet die Win-API-Funktion NetWkstaUserEnum() um die angemeldeten Benutzer einer Workstation (geht auch mit IP-Adressen) zu ermitteln. Dieses Programm/Dienst kann dann von einer Web-Applikation über eine Socketverbindung angesprochen werden, um diese Informationen abzufragen.
So etwas könnte u.a. auch mit  Perl realisiert werden:
<code>
use Win32::NetAdmin qw(LoggedOnUsers);
my @users;
LoggedOnUsers('192.168.130.3', @users) or die "LoggedOnUsers() failed: $^E";
print join(',',@users);
</code>

Dummerweise liefert diese Funktion nicht nur Interaktive Benutzer sondern auch die von Services und Batch-Prozessen, sofern diese nicht unter dem System-Account laufen. Bei Anmelde-Servern liefert sie anscheinend auch die User, die sich darüber an die Domain angemeldet haben. Aber das sollte in Deinem Falle egal sein, wenn kein Anwender auf einem Anmeldeserver interaktiv arbeitet.

Ein Nachteil all dieser Lösungen ist, daß sie nicht mit Terminalservern funktionieren.

So, jetzt hoffe ich, daß Du einige Anhaltspunkte hast, Dein Problem zu lösen.

Grüße
  Klaus