1

だから、私はここで立ち往生しています...

MS Windows Server 2008 R2 のローカル管理者グループのすべてのユーザーを一覧表示できるプログラムを作成しています。

ここでの問題は、.NET 2.0 しか使用できないことです。そのため、GroupPrincipal クラスを使用することはできません。これにより、これは非常に簡単な作業になります。

任意のポインターが評価されます!

乾杯!

4

3 に答える 3

5

うわあ!

私が本当に何を考えていたのかわからない-それはとても簡単です!

Masoud Tabatabaeiのすべてのクレジット-次のコードスニペットが見つかりました: http://csharptuning.blogspot.se/2007/09/how-to-get-list-of-windows-user-in-c.html

DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + Environment.MachineName);
DirectoryEntry admGroup = localMachine.Children.Find("administrators","group");
object members = admGroup.Invoke("members", null);
foreach (object groupMember in (IEnumerable)members)
{
    DirectoryEntry member = new DirectoryEntry(groupMember);
    lstUsers.Items.Add(member.Name);
}
于 2013-01-30T23:30:57.983 に答える
1

WMIを試しましたか?

例えば

ManagementObjectSearcher   search = new ManagementObjectSearcher(@"SELECT * FROM Win32_UserAccount where LocalAccount = true");
ManagementObjectCollection userList = search.Get();

foreach (ManagementObject user in userList)
{
    Console.WriteLine("User name: {0}, Full Name: {1}", 
        user["Name"].ToString(), user["FullName"].ToString());
}

ローカルSAMのユーザーのリストが表示されます。クエリに他の属性を追加して、リストを絞り込むことができます。

System.Management.dllへの参照を追加することを忘れないでください

于 2013-01-30T04:45:32.803 に答える