Pocket

VMware ESXi にSSHで接続しシリアルナンバーを確認するには、以下のコマンドを実行する。

esxcfg-info -y | grep "System UUID"

実際に実行した結果が以下。

~ # esxcfg-info -y | grep "System UUID"
|----System UUID.................................................5366f5c9-85ad-2ec1-431a-00151716ad92

この抽出結果だと少し使いにくいので、awkやsedで加工。

~ # esxcfg-info -y | grep "System UUID" | sed -e 's/\.//g' | awk -F"System UUID" '{print $2}'
5366f5c9-85ad-2ec1-431a-00151716ad92

その他、「/etc/vmware/esx.conf」の中にも保存されている。
以下のコマンドで同様に出力させる事が出来る。

cat /etc/vmware/esx.conf | grep uuid | cut -d'"' -f2 | cut -d'"' -f1
Sponsored Links

実際に実行した結果が以下。

~ # cat /etc/vmware/esx.conf | grep uuid | cut -d'"' -f2 | cut -d'"' -f1
5366f5c9-85ad-2ec1-431a-00151716ad92

2014/06/16 追記
上記内容に補足。
どうも、この値はSystemのUUIDのようだ。
BIOSのUUIDを出力させるには、以下のコマンドが必要になる。

smbiosDump | grep System -A10 | grep UUID

更に、値の順番がこのままだと他のUUIDからのIPアドレス出力スクリプトと入れ違いになっているため、以下のようなスクリプトを作成。

#!/bin/sh
GUID=`smbiosDump | grep System -A10 | grep UUID | awk 'BEGIN { FS=": "; } { print $2; }' | sed "y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/"`
echo $GUID

GUID_16=`echo $GUID | cut -c1-2`
GUID_15=`echo $GUID | cut -c3-4`
GUID_14=`echo $GUID | cut -c5-6`
GUID_13=`echo $GUID | cut -c7-8`
GUID_12=`echo $GUID | cut -c9-10`
GUID_11=`echo $GUID | cut -c11-12`
GUID_10=`echo $GUID | cut -c13-14`
GUID_09=`echo $GUID | cut -c15-16`
GUID_08=`echo $GUID | cut -c17-18`
GUID_07=`echo $GUID | cut -c19-20`
GUID_06=`echo $GUID | cut -c21-22`
GUID_05=`echo $GUID | cut -c23-24`
GUID_04=`echo $GUID | cut -c25-26`
GUID_03=`echo $GUID | cut -c27-28`
GUID_02=`echo $GUID | cut -c29-30`
GUID_01=`echo $GUID | cut -c31-32`

echo $GUID_01$GUID_02$GUID_03$GUID_04$GUID_05$GUID_06$GUID_07$GUID_08$GUID_09$GUID_10$GUID_11$GUID_12$GUID_13$GUID_14$GUID_15$GUID_16

これでBIOSのUUIDが出力出来た。
地味にtrコマンドが無かったりしてちょっと力技になっているが…まぁいいか。

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。