入力するデバイスのリストに基づいて、静的または DHCP という IP タイプを実際に取得するための C# コードを知りたいです。
表示される出力:
デバイス名: IP アドレス: MAC アドレス: タイプ: Marvell Yukon 88E8001/8003/8010 PCI ギガビット イーサネット コントローラ NULL 00:00:F3:44:C6:00 DHCP 一般的な Marvell Yukon 88E8056 ベースのイーサネット コントローラ 192.168.1.102 00:00:F3:44:D0:00 DHCP
ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection objMOC = objMC.GetInstances();
txtLaunch.Text = ("Name\tIP Address\tMAC Address\tType" +"\r\n");
foreach (ManagementObject objMO in objMOC)
{
StringBuilder builder = new StringBuilder();
object o = objMO.GetPropertyValue("IPAddress");
object m = objMO.GetPropertyValue("MACAddress");
if (o != null || m != null)
{
builder.Append(objMO["Description"].ToString());
builder.Append("\t");
if (o != null)
builder.Append(((string[])(objMO["IPAddress"]))[0].ToString());
else
builder.Append("NULL");
builder.Append("\t");
builder.Append(m.ToString());
builder.Append("\t");
builder.Append(Convert.ToBoolean(objMO["DHCPEnabled"]) ? "DHCP" : "Static");
builder.Append("\r\n");
}
txtLaunch.Text = txtLaunch.Text + (builder.ToString());
これにより、私が達成しようとしているものの 90% が得られました。コードはうまく機能しました。次の部分は、情報をリモートで取得するためにネットワーク上のデバイスを指定することです。以下の 1 つのコメントに、WMI なしではこれは不可能であると書かれていることに気付きました。これは確かに私よりもはるかに近いです。これは実現できると確信しています。ここで推奨事項を受け入れます。