#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 ライセンス認証状態の確認終了 ====="

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS