プロダクトキーの仕様がよくわからない
管理はしているつもりだがPCの数が増えると何が何だかわからなくなっていく、そこでキーが一発でわかる方法を考えてみる。
❶
slmgr.vbs /dlv ← これはプロダクトキーの下5桁だけ表示できる。
➋
wmic path softwarelicensingservice get oa3xoriginalproductkey ←25桁表示できる場合とOA3xOriginalProductKeyと出る場合がある。
❸
function Get-ProductKey {
$map="BCDFGHJKMPQRTVWXY2346789"
$key = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
$value = (get-itemproperty $key).digitalproductid[0x34..0x42]
$ProductKey = ""
for ($i = 24; $i -ge 0; $i--) {
$r = 0
for ($j = 14; $j -ge 0; $j--) {
$r = ($r * 256) -bxor $value[$j]
$value[$j] = [math]::Floor([double]($r/24))
$r = $r % 24
}
$ProductKey = $map[$r] + $ProductKey
if (($i % 5) -eq 0 -and $i -ne 0) {
$ProductKey = "-" + $ProductKey
}
}
$ProductKey
}
Get-ProductKey ←25桁出るが上の2つとは全く違うプロダクトキーが出る
わからん、どうなっているのか?
わかりやすく考えてみる。
---- CF-Y7DWJAAS Win8.1 PC名はBLEACHED
OEMのVistaから → Win8のFPPパッケージでアップグレード 何かのプロダクトキーでWin7経由でWin8.1
❶ slmgr.vbs /dlv・・・・下5桁表示
➋ wmic path・・・・ OA3xOriginalProductKey
❸ function Get-ProductKey・・・・slmgr.vbs /dlvと全く違うプロダクトキーが表示
---- CF-Y7DWJAAS Win10 PC名はSTRAPPED
OEMのVista → Win7はFPPのDVDでプロダクトキーはDellのOEM → Win10無償アップグレード
❶ slmgr.vbs /dlv・・・・下5桁表示
➋ wmic path・・・・ OA3xOriginalProductKey
❸ function Get-ProductKey・・・・slmgr.vbs /dlvとは全く違うプロダクトキー
---- CF-Y7CWHAJS Win7 PC名はGALLERY3
Vista OEM → Win7 FPPにアップグレード
❶ slmgr.vbs /dlv・・・・下5桁表示
➋ wmic path・・・・ 無効なクエリです
❸ function Get-ProductKey・・・・では全く違うプロダクトキー
---- CF-Y7DWJAJS Vista PC名はLEGEND
Vista OEMのまま
❶ slmgr.vbs /dlv・・・・下5桁表示
➋ wmic path・・・・ 無効なクエリです
❸ function Get-ProductKey・・・・下5桁はslmgr.vbs /dlvと同じ
---- CF-Y7-2(msinfo32の表記) Vista PC名はPASSION
Vista OEMのままだがインストールDVDがないためCF-Y7CWHAJSでインストールしたHDDを乗せている
❶ slmgr.vbs /dlv・・・・下5桁表示
➋ wmic path・・・・ 無効なクエリです
❸ function Get-ProductKey・・・・$ProductKeyは内部コマンド外部コマンドと認識されていません
---- CF-Y7AWDPJR Vista PC名はEYE
vista OEMのまま
❶ slmgr.vbs /dlv・・・・下5桁表示
➋ wmic path・・・・ 無効なクエリです
❸ function Get-ProductKey・・・・下5桁はslmgr.vbs /dlvと同じ
---- CF-Y5MW8AJS Vista PC名はHABIT
vista OEMのまま
❶ slmgr.vbs /dlv・・・・下5桁表示
➋ wmic path・・・・ 無効なクエリです
❸ function Get-ProductKey・・・・下5桁はslmgr.vbs /dlvと同じ
---- CF-Y7DWJAAS Win7 PC名はCONTROL
vista OEM → Win7のFPP(海賊版の可能性あり)
❶ slmgr.vbs /dlv・・・・下5桁表示
➋ wmic path・・・・ 無効なクエリです
❸ function Get-ProductKey・・・・下5桁はslmgr.vbs /dlvと同じ
msinfo32は起動するが情報を収集できませんWMIソフトウェアにアクセスできませんWindows Managemenntのファイルが移動されたか、見つかりません
このPCはハングアップ、ブルースクリーンで一度ぐちゃぐちゃになったPCをリカバリせず自力で直したPCなので参考にならないかも?
**************************************************************************
結論
slmgr.vbs /dlv → すべてのPCで動作
wmic path → FPP版では使えない OEM専用のコマンド Vistaは使えない Win7も?
function Get-ProductKey → 購入時のままであれば使えるコマンド
**************************************************************************
結局どのキーがマイクロソフトのデータベースに登録されているのか?
アクティベーションするたびにエイリアスとしてすべてのキーが登録されているのか?
下5桁のコマンドが一番正しいようだが25桁表示されないと消化不足ですね。
よくわからん・・・ということでこのテーマは終わります。