web-dev-qa-db-ja.com

作業しているハードドライブのシリアル番号を取得するにはどうすればよいですか?

コンピューター内のすべてのハードドライブのシリアル番号を取得するには、次を使用します。

wmic diskdrive get serialnumber

しかし、私が働いているハードドライブのシリアル番号を取得したいと思います。

説明:ハードドライブが2つあり、そのうちの1つには2つのパーティションCとDがあります。もう1つには1つのパーティションEがあります。コマンドラインでCパーティションで作業している場合、wmicコマンドを入力すると、Eパーティションのあるハードドライブのシリアル番号ではなく、このパーティションのあるハードドライブのシリアル番号のみを取得したい。

ソフトウェアのライセンスコードを作成したい。ソフトウェアは任意のパーティションにインストールできます。これらのパーティションを具体的に含むハードドライブのシリアル番号が必要です。フォーマットや再インストールなどを行うと、パーティションのボリュームシリアル番号は変わりますが、ハードドライブのシリアル番号は変わりません。シリアル番号を変更するソフトウェアがあることは知っていますが、私の可能なクライアントはそれほど賢くありません。

1
Daril Alemán

返信ありがとうございます。私が必要としている答えを見つけました。ここでそれをあなたと共有します。コマンドはPowerShellにあります:

Get-Disk (Get-Partition -DriveLetter 'C').DiskNumber

出力は次のようになります。

Number Friendly Name Serial Number  HealthStatus OperationalStatus       Total Size Partition Style
------ ------------- -------------------------------------------------- 
0      ST3802110AS    5LR2DQ65       Healthy          Online               74.53 GB    MBR
2
Daril Alemán

これが私が作成したPowershellスクリプトで、うまくいけばあなたが望むことを実行します。

  1. Powershellを開く
  2. これをコピーして貼り付けます。
$volumes = get-wmiobject Win32_Volume
foreach ($vol in $volumes) 
  {
    if($vol.Caption -eq 'c:\')
      {
        $vol | fl Caption,Name,DeviceID,SerialNumber 
      }
  }
pause

これにより、C:\ドライブに関連して必要なものが得られるはずです。別のドライブ文字が必要な場合は、上記のスクリプトの4行目のc:\に変更するだけです。

出力は次のようになります。

Caption      : C:\
Name         : C:\
DeviceID     : \\?\Volume{770f1368-bacc-4401-98db-a6c43bc4ef11}\
SerialNumber : 3469401274

:これら4つだけでなく、利用可能なすべてのドライブ情報が必要な場合は、上記から| fl Caption,Name,DeviceID,SerialNumberを削除し、代わりにその行に$volを残すことができます。

0
Narzard