この記事を読むのに必要な時間は約 9 分です。
モニターのシリアルを調べる。
この間、モニターを新調しました。

折角なので、このモニターについてシリアル情報をWMIから引っ張ってきたいと思います。
注意!
た、だ、し、注意が必要です。
値の取得は出来たのですが、モニターに貼られているシールに記載のシリアルと完全一致しませんでした。
※中途半端に前半と後半が一致して、真ん中に確認不明な文字列が・・・・・
と、いう事で確認自体は可能ですが完全一致しない前提となります。
※管理人の購入したモニターだけならいいのですがなにぶん1台しか持ってませんので
コマンド
まずはざっくり調べます。
wmic path Win32_PnPEntity where caption="汎用 PnP モニター" get * /format:list
+++++++++++++++
Availability=
Caption=汎用 PnP モニター
ClassGuid={4d36e96e-e325-11ce-bfc1-08002be10318}
CompatibleID={“*PNP09FF”}
ConfigManagerErrorCode=0
ConfigManagerUserConfig=FALSE
CreationClassName=Win32_PnPEntity
Description=汎用 PnP モニター
DeviceID=DISPLAY\ACR0467\4&25831CB2&0&UID198171
ErrorCleared=
ErrorDescription=
HardwareID={“MONITOR\ACR0467”}
InstallDate=
LastErrorCode=
Manufacturer=(標準モニターの種類)
Name=汎用 PnP モニター
PNPClass=Monitor
PNPDeviceID=DISPLAY\ACR0467\4&25831CB2&0&UID198171
PowerManagementCapabilities=
PowerManagementSupported=
Present=TRUE
Service=monitor
Status=OK
StatusInfo=
SystemCreationClassName=Win32_ComputerSystem
SystemName=★ホスト名が入ります★
Availability=
Caption=汎用 PnP モニター
ClassGuid={4d36e96e-e325-11ce-bfc1-08002be10318}
CompatibleID={“*PNP09FF”}
ConfigManagerErrorCode=0
ConfigManagerUserConfig=FALSE
CreationClassName=Win32_PnPEntity
Description=汎用 PnP モニター
DeviceID=DISPLAY\AUO41EC\4&25831CB2&0&UID265988
ErrorCleared=
ErrorDescription=
HardwareID={“MONITOR\AUO41EC”}
InstallDate=
LastErrorCode=
Manufacturer=(標準モニターの種類)
Name=汎用 PnP モニター
PNPClass=Monitor
PNPDeviceID=DISPLAY\AUO41EC\4&25831CB2&0&UID265988
PowerManagementCapabilities=
PowerManagementSupported=
Present=TRUE
Service=monitor
Status=OK
StatusInfo=
SystemCreationClassName=Win32_ComputerSystem
SystemName=★ホスト名が入ります★
+++++++++++++
うん!2個あることはわかるのですが、さっぱりわかりませんね
デバイスマネージャーで調べると
こんな感じです。
一台はノートパソコンについているモニターで、もう一台が今回購入した
外付けのモニターとなります。
残念ながら今回は識別ができないままシリアルの調査を行います。
シリアルを確認するコマンドは以下です。
wmic /namespace:\\root\wmi path WmiMonitorID
こんな感じで一覧表示されます。
今回は下側の一行が調べたいモニターだとわかっていますので条件で絞って表示させるとこの様な形になります。
Active=TRUE
InstanceName=DISPLAY\ACR0467\4&25831cb2&0&UID198171_0
ManufacturerName={65,67,82,0,0,0,0,0,0,0,0,0,0,0,0,0}
ProductCodeID={48,52,54,55,0,0,0,0,0,0,0,0,0,0,0,0}
SerialNumberID={84,51,82,83,74,48,48,51,52,50,50,48,0,0,0,0}
UserFriendlyName={65,67,69,82,32,75,65,50,50,48,72,81,0}
UserFriendlyNameLength=13
WeekOfManufacture=21
YearOfManufacture=2018 ★←買ったばっかりなのでこっちが正解!
これで、表示自体は正しくされているのですが、ASCIIで表示されていますので、エクセルのCHAR(★)関数で変換します。
変換結果ですが以下の通りです。
アスキー | ManufacturerName | 65 | 67 | 82 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ProductCodeID | 48 | 52 | 54 | 55 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
SerialNumberID | 84 | 51 | 82 | 83 | 74 | 48 | 48 | 51 | 52 | 50 | 50 | 48 | |
UserFriendlyName | 65 | 67 | 69 | 82 | 32 | 75 | 65 | 50 | 50 | 48 | 72 | 81 | |
CHARで変換後 | ManufacturerName | A | C | R | |||||||||
ProductCodeID | 0 | 4 | 6 | 7 | |||||||||
SerialNumberID | T | 3 | R | S | J | 0 | 0 | 3 | 4 | 2 | 2 | 0 | |
UserFriendlyName | A | C | E | R | K | A | 2 | 2 | 0 | H | Q |
うん、なんとなくacerのモニターであることは確認できますね。
シリアルナンバーですが、この文字列の真ん中に特定の文字列を付与した物が背面のシールに貼ってありました。そのため、実際にこの情報を取得して利用する際には注意が必要な値となります。
※ほかのメーカーだとちゃんと全部表示されているかもしれません。