10

.NET (C#) を使用して、ローカル マシンのすべての Windows ユーザーのリストを取得するにはどうすればよいですか?

4

2 に答える 2

11

これは、その方法を説明するブログ投稿 (コード付き) です。

http://csharptuning.blogspot.com/2007/09/how-to-get-list-of-windows-user-in-c.html

著者は次のコードをリストします (上記のサイトから引用)。

DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + Environment.MachineName);
DirectoryEntry admGroup = localMachine.Children.Find("users","group");
object members = admGroup.Invoke("members", null);
foreach (object groupMember in (IEnumerable)members)
{
    DirectoryEntry member = new DirectoryEntry(groupMember);
    lstUsers.Items.Add(member.Name);
}

using System.DirectoryServicesコードの先頭に追加する必要があり ます。マシンを変更するには、Environment.MachineNameアクセスしたいマシンに変更します (その権限があり、ファイアウォールがアクセスをブロックしていない限り)。usersまた、グループではなくグループを参照するように作成者のコードを修正しましたadministrators

于 2011-05-17T15:42:26.593 に答える
4

それはあなたが本当に「後」にあるものに依存します... Windowsドメインにいる場合(Active Directoryを使用)、ローカルを使用することを「承認」されているユーザーを制限するためにActive Directoryが使用されている場合、Active Directoryを 照会できます機械。

要件がそれほど厳しくない場合は、システム UserProfiles のフォルダーを調べることができます。ここで、 Default User と All Usersを除く各フォルダーは、ローカル マシンにログインしているユーザー プロファイルを表します。これには、システム アカウントやサービス アカウントが含まれる可能性があることに注意してください...

于 2011-05-17T15:48:36.937 に答える