Autor Beitrag
braincom654
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: Di 13.05.14 08:49 
Hallo ich lese zurzeit alle Windowsgruppen aus der lokalen Maschine und / oder aus der Domäne aus wo sich der aktuelle nutzer befindet. Diese Gruppen kommen zurzeit in Deutsch zurück, mit folgenden Code: msdn.microsoft.com/e...roups(v=vs.110).aspx

ausblenden C#-Quelltext
1:
UserPrincipal.GetAuthorizationGroups();					



Ich vergleich dann diese Gruppen mit den Gruppen, welche ich von folgender Methode zurückbekomme. Diese die übereinstimmen addiere ich all Rechte und so weiß ich welche ganzen Rechte der Benutzer hat:

ausblenden C#-Quelltext
1:
CommonObjectSecurity.GetAccessRules(truetruetypeof(NTAccount));					



Das Problem hierbei ist diese kommen auf Englisch zurück, das heißt wenn ich sie versuche zu vergleichen mit den Namen scheitert dies leider.

Weiß jemand an was das liegt oder ist das nun mal einfach so?
Hat jemand vielleicht eine andere Lösung?

Grüße braincom

EDIT:
Sieht so aus als wäre der Server wo die Domäne läuft auf Deutsch und mein lokaler Rechner auf englisch eingestellt. Da liegt also das Problem.
Doch Windows zeigt die Domänen-Gruppen-Benutzer auch in englisch an. Sobald ich auf File->Properties->Security->Rights gehe sehe ich diese alle in Englisch. Doch wie kann ich diese in Englisch herholen, weiß da jemand etwas?


EDIT2:
Das war alles sehr oberflächlich, wie ich die totalen Rechte für ein gewissen Object in Windows ermittelt habe. Denn das selbst zu ermitteln scheint eine menge Wissen an den Rechtesystem von Windows als Voraussetzung mitzubringen.
Habe dann eine Methode gefunden, welche auch das OS verwendet um die Rechte zu ermitteln:
msdn.microsoft.com/e...374815(v=vs.85).aspx
Dadurch ist es ein Stück leicher, habe dieses Example als Vorlage benutzt:
technolog.nl/blogs/e...AccessCheck-API.aspx

Hoffe das Hilft jemand weiter,
Ciao
Braincom564