emeriks
Goto Top

Windows API - Ermitteln der Session SID

Hi,
kennt jemand eine API, mit welcher man die Session SID (nicht die Session ID) ermitteln kann?

E.

Content-Key: 257410

Url: https://administrator.de/contentid/257410

Printed on: April 16, 2024 at 12:04 o'clock

Member: colinardo
colinardo Dec 11, 2014 updated at 16:02:44 (UTC)
Goto Top
Hi emeriks,
du meinst vermutlich die User-SID mit der ein User unter einer Session gerade angemeldet ist ?
Eine "Session-SID" wäre mir neu.

Die SID des aktuell angemeldeten Users erhältst du bspw. so (Powershell)
(New-Object System.Security.Principal.NTAccount($env:Username)).Translate([System.Security.Principal.SecurityIdentifier]).Value
das kannst du dir ja in .NET in Visual Studio umsetzen.

Grüße Uwe
Member: emeriks
emeriks Dec 11, 2014 at 16:18:39 (UTC)
Goto Top
Hi colinardo,
nein, ich meine tatsächlich die Session SID.

E.
Member: emeriks
emeriks Dec 11, 2014 at 16:26:17 (UTC)
Goto Top
Das hier meine ich:

Well-Known SID Structures

LOGON_ID
S-1-5-5-x-y
A logon session. The X and Y values for these SIDs are different for each logon session and are recycled when the operating system is restarted.

E.
Member: colinardo
colinardo Dec 11, 2014 updated at 19:01:25 (UTC)
Goto Top
Member: emeriks
emeriks Dec 11, 2014 at 20:36:00 (UTC)
Goto Top
Hi colinardo,
danke erstmal.
Deine Links, auch jene, die Du schon wieder entfernt hast face-wink, haben mir schon mal ne Richtung gezeigt, in welcher ich weitersuchen kann. Zwar ist da noch nicht das dabei, was ich suche, aber vielleicht finde ich da noch was.
Ist schon komisch, dass man darüber nichts findet. Über diese SID's sind zwar schon mehrere gestolpert, aber ne Lösung, wie man die übersetzen oder abfragen kann, hat wohl noch keiner gefunden. Dabei sind die die ältetsten Hinweise, die ich dazu gefunden habe, gar aus dem Jahr 1998 gewesen ....

E.
Member: colinardo
colinardo Dec 12, 2014 updated at 09:55:33 (UTC)
Goto Top
Vielleicht ist das was für dich, hab es noch nicht ausprobiert und ist schon etwas älter:
http://www.codeproject.com/Articles/7483/Enumerating-Logon-Sessions

Bei Zeiten werde ich da nochmal nachhaken...

Grüße Uwe
Member: emeriks
emeriks Dec 12, 2014 at 10:41:55 (UTC)
Goto Top
ich habe immer noch nichts gefunden, wo die Session SID enthalten wäre. Wenn ich die Sitzungen abfrage und mir die Token hole, dann komme ich maximal an die User-SID, die Session ID und die Logon ID. Die Session SID ist nrigends dabei ... face-sad

Ich habe mir jetzt einen Workaround gebaut. Umständlich, aber mit guter Trefferwahrscheinlichkeit. Keine Ahnung, ob das dann unter Win2012 ff. auch noch geht. Muss ich dann testen.

Über Vorher-Nachher-Vergleich zeichne ich auf, welche Schlüssel unter "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\SessionDefaultDevices" existieren. Dort werden Unterschlüssel mit den gesuchten SID erstellt, wenn man über die WinAPI SetDefaultPrinter (bzw. .Net Entsprechung LocalPrintserver.DefaultQueue, oder auch printui.dll) denn Standarddrucker ändert. (Er muss sich dabei wirklich ändern.) Wenn man gleich zu Login schnell genug abfragt, dann geht das. Man muss nur schneller sein als die GPO Extensions für Drucker, falls man diese denn nutzt.

E.