Windows ユーザー アカウントを一覧表示したいのですが、ログイン画面で表示されるもの、Windows の起動後に表示されるもののみです。
私はグーグルで検索しましたが、見つけたのはすべてこの方法に要約されます: http://www.mydigitallife.info/how-to-create-hidden-user-account-hide-user-account-from-welcome-screen-in-windows/
ただし、私のコンピューターには、上記の記事で言及されているレジストリ キーはありません。作成したくありません。既に存在するものを確認したいのです。
次のクエリを使用します。
List<string> list = new List<string>();
SelectQuery query = new SelectQuery("Win32_UserAccount");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
foreach (ManagementObject obj in searcher.Get())
{
if (isInteresting(obj))
{
list.Add(obj.GetPropertyValue("Name").ToString());
}
}
上記のクエリによって返されるオブジェクトのプロパティを使用して、いくつかのアカウントをフィルタリングすることができました (これらのプロパティの完全なリスト: http://msdn.microsoft.com/en-us/library/windows/desktop/aa394507(v=vs. 85).aspx#properties )、しかし、日常のユーザーの観点からは、まだ不要なものがいくつかあります (ドライバー ベンダーが更新に使用するアカウントなど)。