サードパーティのソフトウェアを使用せずにMicrosoftOfficeのプロダクトキーを取得する方法
30件の返信
Microsoft Officeのプロダクトキーを紛失した場合、または保管場所を忘れてしまい、取得できなくなった場合でも、絶望しないでください。 サードパーティのソフトウェアを使用せずに、PCにインストールされているOSからOfficeのプロダクトキーを抽出するための簡単なソリューションを共有したいと思います。
- メモ帳を開きます。
- 次のテキストをコピーしてメモ帳ウィンドウに貼り付けます。
function Get-MSOfficeProductKey {param([string []] $ computerName = "。")$ product = @()$ hklm = 2147483650 $ path = "SOFTWARE \ Microsoft \ Office" foreach($ computerName in $ computer){$ wmi = [WMIClass] "\\ $ computer \ root \ default:stdRegProv" $ subkeys1 = $ wmi。 EnumKey($ hklm、$ path)foreach($ subkeys1.snamesの$ subkey1){$ subkeys2 = $ wmi。 EnumKey($ hklm、 "$ path \ $ subkey1")foreach($ subkeys2.snamesの$ subkey2){$ subkeys3 = $ wmi。 EnumKey($ hklm、 "$ path \ $ subkey1 \ $ subkey2")foreach($ subkeys3.snamesの$ subkey3){$ subkeys4 = $ wmi。 EnumValues($ hklm、 "$ path \ $ subkey1 \ $ subkey2 \ $ subkey3")foreach($ subkey4 in $ subkeys4.snames){if($ subkey4 -eq "digitalproductid"){$ temp = "" | ComputerName、ProductName、ProductKey $ tempを選択します。 ComputerName = $ computer $ productName = $ wmi。 GetStringValue($ hklm、 "$ path \ $ subkey1 \ $ subkey2 \ $ subkey3"、 "productname")$ temp。 ProductName = $ productName.sValue $ data = $ wmi。 GetBinaryValue($ hklm、 "$ path \ $ subkey1 \ $ subkey2 \ $ subkey3"、 "digitalproductid")$ valueData = ($ data.uValue)[52..66]#base24でエンコードされたバイナリデータを復号化します$ productKey = "" $ chars = "BCDFGHJKMPQRTVWXY2346789" for($ i = 24; $ i -ge 0; $ i-){$ r = 0 for($ j = 14; $ j -ge 0; $ j-){$ r =($ r * 256)-bxor $ valueData [$ j] $ valueData [$ j] = [math]:: Truncate($ r / 24)$ r = $ r%24} $ productKey = $ chars [$ r] + $ productKey if(($ i%5)-eq 0 -and $ i -ne 0){$ productKey = "-" + $ productKey}} $ temp。 ProductKey = $ productKey $ product + = $ temp}}}}}}} $ product。 }
- 上記のテキストをデスクトップの「.ps1」拡張子の付いたファイルに保存します。
ボーナスのヒント:ファイルを「.ps1」拡張子で正しく保存するために、名前を二重引用符で囲んで入力できます(例:「office.ps1」)。 - ここで、32ビットバージョンのOfficeと64ビットのどちらを使用しているかを判断する必要があります。 Office 2007、2003以前を使用している場合は、64ビットバージョンがリリースされていないため、32ビットバージョンを使用しています。 また、Windowsが32ビットの場合、64ビットアプリは32ビットWindowsで実行できないため、Officeも32ビットになります。
- 64ビットWindowsを使用していて、Office 2010、2013、または2016を実行している場合は、32ビットまたは64ビットのいずれかになります。 これを確認するには、Word、OneNote、ExcelなどのOfficeアプリケーションを起動します。
- [ファイル]メニューの[ファイル]、[ヘルプ]の順にクリックします。 右側の[概要]の下... セクションでは、32ビットか64ビットかが一覧表示されます。
- 今、あなたは開く必要があります 管理者としてのPowershell. 32ビットOfficeを実行している場合は、32ビットバージョンのPowerShellを開きます。 64ビットOfficeを実行している場合は、64ビットPowerShellを開きます。 スタートメニューの検索ボックスまたはスタート画面の右側に「powershell」と入力します。 64ビットWindowsでは、「Windows PowerShell(x86)」という名前のショートカットは32ビットバージョンのPowerShellであり、名前に「x86」が含まれていないものは64ビットPowerShellです。 それを右クリックして[管理者として実行]を選択するか、キーボードで正しいショートカットを選択して、CTRL + SHIFT + Enterを押します。 これにより、昇格されたPowerShellウィンドウが開きます。
- デジタル署名されていないローカルファイルの実行を有効にします。 これは、次のコマンドで実行できます(コピーして貼り付けることができます)。
Set-ExecutionPolicy RemoteSigned
Enterキーを押して、実行ポリシーを変更できるようにします。
- ここで、次のコマンドを入力する必要があります。
インポート-モジュールC:\ Users \ Winaero \ Desktop \ office.ps1; Get-MSOfficeProductKey
注:office.ps1ファイルを保存した場所を正しく指すように、ユーザー名フォルダーを含む上記のコマンドのパスを変更する必要があります。
- 出来上がり、Officeのプロダクトキーが画面に表示されます。
このスクリプトを共有してくれた読者「bosbigal」に感謝します。