2017-10-05 6 views
0

私は単純なWPFアプリケーションを持っています。これは、特定のユーザーがメンバーであるActiveDirectoryグループを見つけようとしています。グループを取得するためのコードは次のとおりです。WPFアプリケーションでSystem.Security.AccessControl.PrivilegeNotHeldExceptionが表示されるのはなぜですか?

システム:しかし、私はアプリの起動時にこれを実行してみたときには、私は次の例外は、メソッドがnew WindowsIdentity(userLogon)を作成しようとしたときにスローさ

public static HashSet<string> GetUserGroups(string userLogon) 
{ 
    var groups = new HashSet<string>(StringComparer.InvariantCultureIgnoreCase); 
    var identity = new WindowsIdentity(userLogon); 

    if (identity.Groups == null) { return groups; } 

    var type = typeof(NTAccount); 

    foreach (var group in identity.Groups) 
    { 
     groups.Add(group.Translate(type).ToString()); 
    } 

    return groups; 
} 

.Security.AccessControl.PrivilegeNotHeldException: ' プロセスは、 この操作に必要な' SeTcbPrivilege '特権を持っていません。

Consoleアプリでコードを実行すると、これは発生しません。これを引き起こしている可能性のあるアイデアは何ですか?

+0

このアプリケーションを管理者として実行しようとしましたか? consolappは同じユーザーの下で実行されましたか? –

答えて

0

この例外が表示されるのは、ダイアログでAll Common Language Exceptionsが有効になっているためです。

この例外は内部的にスローされているようです。

関連する問題