📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

ページの作成:「== 概要 == PCのデバイス情報には、以下に示すようなものがある。<br> * CPU *: 種類、速度、コア数 * メモリ *: 容量、種類、速度 * ストレージ *: 種類(HDD / SSD)、容量 * グラフィックカード *: モデル、VRAM容量 * マザーボード *: モデル、チップセット <br> * PCにインストールされているソフトウェア情報 *: OS (種類、バージョン) *: インストールされたドライ…」
 
60行目: 60行目:
  using System.Linq;
  using System.Linq;
  using System.Net.NetworkInformation;
  using System.Net.NetworkInformation;
using System.Net.Sockets;
   
   
  namespace GetWiredMACAddress;
  namespace GetWiredMACAddress;
68行目: 69行目:
     {
     {
       try {
       try {
          // 全てのネットワークインターフェースを取得
          foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces()) {
          var nics = NetworkInterface.GetAllNetworkInterfaces();
            // 稼働中のイーサネット (有線LAN) インターフェースの情報を検索
            if (nic.NetworkInterfaceType == NetworkInterfaceType.Ethernet &&
                nic.OperationalStatus == OperationalStatus.Up) {
   
   
          // 稼働中の有線LANインターフェースを検索
                Console.WriteLine($"ネットワークアダプタ: {nic.Description}");
          var wiredNic = nics.FirstOrDefault(nic =>
                Console.WriteLine($"アダプタの種類: {nic.NetworkInterfaceType}");
                                              nic.NetworkInterfaceType == NetworkInterfaceType.Ethernet &&
                                               nic.OperationalStatus == OperationalStatus.Up);
                // 稼働中の有線LANのMACアドレスを取得して文字列形式に変換
 
                // 表示形式は、16進数の大文字 (AA-BB-CC-DD-EE-FF)
            if (wiredNic != null) {
                PhysicalAddress mac = nic.GetPhysicalAddress();
              // 稼働中の有線LANのMACアドレスを取得
                string macAddress = BitConverter.ToString(mac.GetAddressBytes()).Replace("-", ":");
              var address = wiredNic.GetPhysicalAddress();
                Console.WriteLine($"MACアドレス: {macAddress}");
              var bytes = address.GetAddressBytes();
                // 稼働中の有線LANのIPアドレスを取得
                var ipProperties = nic.GetIPProperties();
                // 稼働中の有線LANのIPv4アドレスを取得
                var ipv4Address = ipProperties.UnicastAddresses
                                               .FirstOrDefault(addr => addr.Address.AddressFamily == AddressFamily.InterNetwork);
                if (ipv4Address != null) {
                  Console.WriteLine($"IPv4アドレス: {ipv4Address.Address}");
                }
                else {
                  Console.WriteLine("IPv4アドレスが見つかりません。");
                }
   
   
              // 稼働中の有線LANのMACアドレスを文字列形式に変換
                // 稼働中の有線LANのIPv6アドレスを取得
              // 表示形式は、16進数の大文字 (AA-BB-CC-DD-EE-FF)
                var ipv6Addresses = ipProperties.UnicastAddresses
              var macAddress = string.Join("-", bytes.Select(b => b.ToString("X2")));
                                                .Where(addr => addr.Address.AddressFamily == AddressFamily.InterNetworkV6)
                                                .Select(addr => addr.Address)
                                                .ToList();
   
   
              // 稼働中の有線LANのMACアドレスを表示
                if (ipv6Addresses.Any()) {
              Console.WriteLine($"有線LANのMACアドレス: {macAddress}");
                  Console.WriteLine("IPv6アドレス:");
            }
                  foreach (var ipv6 in ipv6Addresses) {
            else {
                      Console.WriteLine($"{ipv6}");
                Console.WriteLine("有線LANインターフェースが見つかりませんでした。");
                  }
            }
                }
        }
                else {
        catch (Exception ex) {
                  Console.WriteLine("IPv6アドレスが見つかりません。");
            Console.WriteLine($"エラーが発生しました: {ex.Message}");
                }
        }
            }
          }
      }
      catch (Exception ex) {
          Console.WriteLine($"エラーが発生しました: {ex.Message}");
      }
     }
     }
  }
  }
  </syntaxhighlight>
  </syntaxhighlight>
<br>
<br>
==== 無線LAN ====
==== 無線LAN ====
以下の例では、無線LANのMACアドレスを取得している。<br>
以下の例では、無線LANのMACアドレスを取得している。<br>