Hallo zusammen,
Szenario:
- Remote Desktop Umgebung von Mircosoft
- Arbeitsplatz Stationen (Fat Clients) greifen über die Anwendung "Remotedesktopverbindung" (mstsc.exe) auf einen Server zu
- Auf dem Server wird von jedem zugreifenden PC eine Anwendung ausgeführt
- Arbeitsplatz Stationen werden "auseinander gehalten" über den Computernamen, der ermittelt werden kann (Vgl. https://www.delphipraxis.net/35522-c...rausfiden.html) oder auch folgender Code
Code:
if WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, SessionInfoPtr^[i].SessionId, WTSUserName, acNameBuff, nByteCount) then begin
aWTSUsername:=StrPas(PChar(acNameBuff));
WTSFreeMemory(acNameBuff);
end;
if WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, SessionInfoPtr^[i].SessionId, WTSClientName, acNameBuff, nByteCount) then begin
aWTSClientname:=StrPas(PChar(acNameBuff));
WTSFreeMemory(acNameBuff);
end;
Problem: Der Computername des zugreifenden PCs ist nicht immer eindeutig. Manchmal haben Rechner den SELBEN Namen. Es entstehen Probleme.
Lösungsansatz: MAC Adresse auslesen -> geht aber nicht immer -> insb. wenn der zugreifende PC hinter einer Hardware Firewall steht!
Frage: Fallen Euch andere Lösungsansätze an, um zugreifende Rechner EINDEUTIG zu identifizieren wenn diese über RDP auf den Server zugreifen?
Danke für Input!
VG