ちょっとしたコンピュータ情報ツールをやっています。現在、ユーザーアカウントを作成しています。利用可能なユーザーをコンボボックスに入力します。
ManagementObjectSearcher mosAccounts = new ManagementObjectSearcher("SELECT * FROM Win32_Account");
foreach (ManagementObject moUA in mosAccounts.Get())
{
comboBox4.Items.Add(moUA["Name"].ToString());
}
次に、それらを表示します。
private void comboBox4_SelectedIndexChanged(object sender, EventArgs e)
{
ManagementObjectSearcher mosAccounts = new ManagementObjectSearcher("SELECT * FROM Win32_Account");
foreach (ManagementObject moUA in mosAccounts.Get())
{
lblDescriptionUA.Text = "Description: " + moUA["Description"].ToString();
if (moUA["Domain"] != null)
{
lblDomain.Text = "Domain: " + moUA["Domain"].ToString();
}
else
lblDomain.Text = "Domain: Not Available";
if (moUA["InstallDate"] != null)
{
lblInstallDateUA.Text = "Install Date: " + moUA["InstallDate"].ToString();
}
else
lblInstallDateUA.Text = "Install Date: Not Available";
lblLocalAccount.Text = "Local Account: " + moUA["LocalAccount"].ToString();
if (moUA["SID"] != null)
{
lblSID.Text = "SID: " + moUA["SID"].ToString();
}
else
lblSID.Text = "SID: Not Available";
if (moUA["SIDType"] != null)
{
lblSIDType.Text = "SID Type: " + moUA["SIDType"];
}
else
lblSIDType.Text = "SID Type: Not Available";
if (moUA["Status"] != null)
{
lblStatusUA.Text = "Status: " + moUA["Status"].ToString();
}
else
lblStatusUA.Text = "Status: Not Available";
}
}
しかし、コンボボックスからユーザーを選択するたびに、ラベルが狂ってしまい、非常に多くの情報が表示され、切り替えられます。すべてのユーザーに関する情報を連続して表示しているようです。足りないものはありますか?
追加情報: 私は仕事中です。多くのドメインユーザーがいます。コンボボックスはそれらをすべて表示します。おそらく、すべてのドメインユーザーが原因です。ローカルユーザーのみを表示するオプションを作成しましたが、それと同じ問題があります。