2013年6月12日水曜日

VM-GenerationIDとmsDS-GenerationID

  • このエントリーをはてなブックマークに追加


VM-GenerationIDをサポートしているハイパーバイザー(Hyper-V)の仮想環境で、仮想マシンを作成するときにハイパーバイザーが各仮想マシンのためユニークなIDを生成します。これはVM-GenerationIDです。

Windows Server 2012を実行しているDCを仮想マシンとして構成した時に、仮想DCがVM-GenerationIDの値をDCコンピューターオブジェクトの属性に保存します。保存用の属性はmsDS-GenerationIDです。

この2つの値を比較することで、従来のUSN ロールバック問題を解決することができます。こちらを参照ください。

Windows Server 2012 Active Directory 新機能

ここでは、VM-GenerationIDとmsDS-GenerationIDの確認の仕方を紹介します。

まず、VM-GenerationIDを確認してみましょう。

仮想マシンの構成ファイル(<GUID>.xml,、通常Virtual Machinesフォルダーにある)を開いて"generation_id"で検索すると、下記のような一行が出てきます。

<generation_id type="string">405145306c70333b051f62fee0f46a02</generation_id>

 

次に、msDS-GenerationIDを確認します。

1)「イベントログ」⇒「アプリケーションとサービスログ」⇒「Directory Service」⇒「現在のログをフィルター」をクリックし、フィルター画面の「イベント ソース」で"ActiveDirectory_DomainService"を選択し、「タスクのカテゴリ」で”内部構成”を選択してOKをクリックします。
image

2)以下のようなイベントログを特定します。

ドメイン コントローラーのコンピューター オブジェクトの msDS-GenerationId 属性を読み取ります。
 
msDS-GenerationId 属性の値:
369122541302999554

3)369122541302999554は長整数になっているため、これを16進数に変換する必要があります。cmdでLDPを起動します。「ユーティリティ」⇒「長整数コンバーター」で369122541302999554を文字列フィルドにコピーし実行すると、上位、下位で数字が出てきます。
image
上位、下位の両方の数字を電卓で16進数に変換します。
image ⇒ image
image ⇒ image

上位と下位を結合して51F62FEE0F46A02になります。上位の16進数が7文字になっているため、頭に0を追加すると、051F62FEE0F46A02になります。VM-GenerationIDの後ろの16文字と比較してみると、051f62fee0f46a02と同じIDであることを確認できる。

もっと簡単な方法があります。ADSIエディターなどで直接DCコンピューターオブジェクトの属性で確認する方法です。ただ注意点としては、値が逆になっていることです。

02  6A  F4  E0  FE  62  1F  05    ⇒    05  1F  62  FE  E0  F4  6A  02

image

この記事がお役にたちましたらシェアをお願いします:)

  • このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿