.NET (C#) を使用して、ローカル マシンのすべての Windows ユーザーのリストを取得するにはどうすればよいですか?
2 に答える
これは、その方法を説明するブログ投稿 (コード付き) です。
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
。
それはあなたが本当に「後」にあるものに依存します... Windowsドメインにいる場合(Active Directoryを使用)、ローカルを使用することを「承認」されているユーザーを制限するためにActive Directoryが使用されている場合、Active Directoryを 照会できます機械。
要件がそれほど厳しくない場合は、システム UserProfiles のフォルダーを調べることができます。ここで、 Default User と All Usersを除く各フォルダーは、ローカル マシンにログインしているユーザー プロファイルを表します。これには、システム アカウントやサービス アカウントが含まれる可能性があることに注意してください...