#author("2025-02-19T04:50:47+09:00","default:admin","admin") #author("2025-02-19T04:51:21+09:00","default:admin","admin") #navi(../) #Contents ------------------------ PowerShell を使用して Windows 11 のライセンス認証を行う方法を説明します。 ***ライセンス認証の状態を確認する [#xca6a712] まず、現在のライセンス認証の状態を確認するには、以下のコマンドを実行します。 slmgr /xpr このコマンドを実行すると、ライセンス認証の状態(認証済み、試用期間中、期限切れなど)が表示されます。 ***ライセンスキーをインストールする [#a366396a] Windows 11 のプロダクトキーを入力するには、以下のコマンドを使用します。 コマンド文 slmgr /ipk <プロダクトキー> コマンド実行例: slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX ***KMS サーバーを指定する(KMS 認証の場合) [#n0a6f01e] KMS(Key Management Service)で認証する場合、KMS サーバーを指定します。 コマンド文 slmgr /skms <KMSサーバーのアドレス> コマンド実行例: slmgr /skms kms.example.com ***ライセンス認証を実行する [#geaac7ba] ライセンス認証を実行するには、以下のコマンドを入力します。 コマンド文 slmgr /ato これにより、プロダクトキーが有効であればライセンス認証が完了します。 ***ライセンスの詳細情報を確認する [#ib41ffa5] ライセンス情報をより詳細に確認するには、以下のコマンドを使用します。 コマンド文 slmgr /dlv または、以下のコマンドでインストールされているプロダクトキーの下5桁を確認できます。 コマンド文 slmgr /dli ***トラブルシューティング [#f15930ff] エラー 0xC004F074 → KMS サーバーに接続できない場合に発生します。KMS サーバーのアドレスが正しいか、ネットワーク接続を確認してください。 エラー 0xC004C003 → プロダクトキーが無効またはブロックされている可能性があります。正しいキーを使用しているか確認してください。 エラー 0xC004F050 → 入力したプロダクトキーが無効な場合に発生します。キーを再確認し、正しいエディションのキーを使用してください。 ***スクリプト化する場合 [#q7ded359] PowerShell スクリプトでライセンス認証を自動化するには、以下のようなスクリプトを作成できます。 $ProductKey = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" $KMSserver = "kms.example.com" # プロダクトキーをインストール slmgr /ipk $ProductKey # KMSサーバーを設定 slmgr /skms $KMSserver # 認証を実行 slmgr /ato # 認証結果を表示 slmgr /dlv 注意 -ボリュームライセンス(KMS)の場合、KMS サーバーに接続できる環境で実行してください。 -個別のプロダクトキー(MAK)の場合、Microsoft の認証サーバーに接続できる状態で実行してください。 -ライセンスキーの管理には注意してください。不正使用はライセンス違反となります。 PowerShell で Windows 11 のライセンス状態を C:\temp\licence.log に出力するスクリプトを作成するには、以下のようにします。 # ログの保存先 $LogFile = "C:\temp\licence.log" # ログに書き込む関数 function Write-Log { param ([string]$message) $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss" $hostname = $ENV:COMPUTERNAME "$timestamp $hostname - $message" | Out-File -Append -Encoding Default $LogFile } # ログ開始 Write-Log "===== Windows ライセンス認証状態の確認開始 =====" # ライセンス認証の状態を取得 $LicenceStatus = slmgr /xpr 2>&1 Write-Log "ライセンス認証の状態: $LicenceStatus" # ライセンスの詳細情報を取得 $LicenceDetail = slmgr /dlv 2>&1 Write-Log "ライセンス詳細情報: $LicenceDetail" # ログ終了 Write-Log "===== Windows ライセンス認証状態の確認終了 ====="