アプリケーションが管理者ユーザーで実行されているかどうかを知るコードがあります。トークンがAdminグループのメンバに属していることを確認してください
今、私はプロセスのトークンを取得し、プロセスの所有者のSIDを抽出できます。うまくいく。だから私はこの "SecurityIdentifier"オブジェクトを持っていますが、実際に管理グループのメンバーであるかどうかをチェックする方法はわかりません。
だから誰かが道を知っていれば、それは素晴らしいだろう。
しかし、今、私はプロセスから取得したトークンからWindowsIdentityオブジェクトを作成する方法を見つけましたが、現在のところ偽装しているようです。しかし、WindowsPrincipal.IsInRoleメソッドを呼び出した後、Win32から大きな「アクセス拒否」エラーが発生します。だから私は実際には他の行き止まりにぶつかった。
答えがWinAPIまたは.NetFrameworkに依存する場合は、重要ではありません。
おかげ
あなたが必要なものを見つけるまで、あなたは、例えば、System.DirectoryServicesを使用して、すべてのユーザーを経ることがあり、その後、彼女のグループは –
あなたが得るどのように教えていただけますチェックWin32経由のSID?これが.Netで実行できる場合は、IsInRole –
@AlexKを呼び出すことができます。詳細情報が追加されました。 –