このページの本文へ

前へ 1 2 次へ

Windows Info 第321回

Windowsのレジストリなどに見られるGUIDとは?

2022年04月03日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

実際にGUIDを生成する

 GUIDは、本来プログラムが生成して、プログラムが使うものなので、ユーザーが直接扱うことはほとんどないが、プログラム開発などで重複しないIDとしてUUIDが必要になることがある。この場合、Windowsでは大きく2つの方法がある。

 1つは、PowerShellから.NET Framework/.NETのGUID生成機能を呼び出してGUIDを生成する方法だ。もう1つは、WSLでuuidgenコマンドを使う方法だ。どの方法でもUUIDバージョン4のUUID(=GUID)を生成できる。

 PowerShellの場合、以下のように

[guid]::NewGuid()

コマンドを使う。

PowerShellから「[Guid]::NewGuid()」コマンドを使うことで、GUIDを生成できる。これは、乱数ベースのUUIDバージョン4である

 バイト列が必要な場合には、

[guid]::NewGuid().ToByteArray()

とすればよい。

 WSLを使えるなら、uuidgenコマンドが利用できる。単純に

uuidgen

とすれば、UUID文字列が出力される。

 なお、オプション「-r」を付けると乱数ベースのUUID(バージョン4)が、オプション「-t」で時間ベースのUUID(バージョン1)が出力される。オプションなしでは、乱数ベースのUUIDを生成しようとするが、乱数発生デバイス(/dev/random)がないと時間ベースのUUIDを出力する。

 なお、WSLの場合、MACアドレスは仮想環境のMACアドレスとなり、ベンダーコードは、Microsoftのもの(00:5d:19)となる。ローカル環境では、重複はしないが、他の環境のWSLとは同じになる可能性があるため、できれば乱数ベースのUUIDを使ったほうがいいだろう。uuidgenで生成した時間ベース、乱数ベースのUUIDはどちらもGUIDとして利用できる。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン