Ⅰ. はじめに
Windowsの場合記憶媒体(SSD/HDD等)には2つのシリアル番号があります。
1つ目
以下のコマンドを実行して取得できるシリアル番号
> vol c:
ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は A8D9-2235 です
2つ目
S.M.A.R.Tから読み取ることが出来るシリアル番号
以下のコマンドで取得できます。
> wmic diskdrive get serialnumber SerialNumber **********
Ⅱ. やり方(1つ目)
サンプルプログラム
using System.Management; class Program { static void Main(string[] args) { var volumes = new ManagementClass("Win32_LogicalDisk").GetInstances(); foreach (var volume in volumes) { Console.WriteLine(volume.Properties["VolumeSerialNumber"].Value.ToString()); } } }
実行結果
Ⅲ. やり方(2つ目)
サンプルプログラム
using System.Management; static void Main(string[] args) { /* // 1つ目のドライブのみ取得する var drive = "PHYSICALDRIVE0"; var theSearcher = new ManagementObjectSearcher($"SELECT * FROM Win32_DiskDrive WHERE DeviceID like '%{drive}'"); foreach (ManagementObject currentObject in theSearcher.Get()) { Console.WriteLine(currentObject["DeviceID"]); Console.WriteLine(currentObject["SerialNumber"]); } */ var volumes = new ManagementClass("Win32_DiskDrive").GetInstances(); foreach (var volume in volumes) { Console.WriteLine(volume["DeviceID"]); Console.WriteLine(volume["SerialNumber"]); } }
実行結果
Ⅳ. その他
Q. シリアル番号は第三者と重複する?
A.
1つ目について
かなり高い確率で重複します。
使用しているパソコンの固有番号、識別番号としての利用は不適切です。
また、シリアル番号は簡単に変更可能です。
2つ目について
私の知る限り重複しません。
また、私の知る限り変更できません。
※重複しない根拠となる適切な資料は見つかりませんでした。