1

Win 7で現在ログインしているユーザーのSIDを見つけようとしています。使用しています

string _CurrentUser = System.Security.Principal.WindowsIdentity.GetCurrent().User.Value.ToString();

コンソール アプリで実行すると、ユーザーの SID が "S-1-5-21-670676956-2645971461-1681047478-500" として取得されますが、上記の行を Windows サービスに配置すると、別の SID が取得されます。 "S-1-5-18" Windows サービスが別のアカウントで実行されていることは理解しています。コンソール アプリで取得しているものと同じように、Windows サービスでユーザーの SID を取得するにはどうすればよいですか?

また、Win XP で同じコードを実行すると、Windows サービスとコンソール アプリは、Win 7 とは異なり、同じ SID を提供します。

4

1 に答える 1

0

ターミナル サービスを使用して、コンソールまたはリモート デスクトップ経由でログに記録されたユーザーを一覧表示し、コンソール上にあるユーザーを確認し、それに基づいて sid を取得する必要があります。

これを行うための素敵な .NET ライブラリを次に示します。

http://code.google.com/p/cassia/

于 2012-06-24T23:45:31.263 に答える