だから、私はここで立ち往生しています...
MS Windows Server 2008 R2 のローカル管理者グループのすべてのユーザーを一覧表示できるプログラムを作成しています。
ここでの問題は、.NET 2.0 しか使用できないことです。そのため、GroupPrincipal クラスを使用することはできません。これにより、これは非常に簡単な作業になります。
任意のポインターが評価されます!
乾杯!
だから、私はここで立ち往生しています...
MS Windows Server 2008 R2 のローカル管理者グループのすべてのユーザーを一覧表示できるプログラムを作成しています。
ここでの問題は、.NET 2.0 しか使用できないことです。そのため、GroupPrincipal クラスを使用することはできません。これにより、これは非常に簡単な作業になります。
任意のポインターが評価されます!
乾杯!
うわあ!
私が本当に何を考えていたのかわからない-それはとても簡単です!
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);
}
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への参照を追加することを忘れないでください