「Officeのライセンス認証がうまくいかない…」
「複数のOfficeライセンスを管理したい」
こんな課題を解決してくれるのが、osppコマンドです。
この記事では、Microsoft Officeのライセンス管理に使用するosppコマンドについて、基礎から実践まで分かりやすく解説していきますね。
osppコマンドの基本概念

osppって何?
ospp(Office Software Protection Platform)は、Microsoft Officeのライセンス認証を管理するコマンドラインツールです。
ospp.vbsというVBScriptファイルとして提供され、ライセンスキーの登録や認証状態の確認、KMS(Key Management Service)サーバーの設定などができます。
企業でボリュームライセンス版のOfficeを管理する際に、特に重要なツールなんですね。
どんな時に使うの?
osppコマンドが活躍する場面はいくつかあります。
ライセンスキーの管理
プロダクトキーのインストールや削除ができます。
複数のキーを切り替える必要がある場合に便利ですね。
認証状態の確認
Officeが正しくライセンス認証されているか確認できます。
トラブルシューティングの第一歩として使われますよ。
KMS設定
企業内のKMSサーバーを使った認証を設定できます。
大規模環境での一括管理に必須です。
再認証の実行
ライセンス認証を手動で実行できます。
自動認証がうまくいかない場合の対処に使えますね。
ospp.vbsの場所
ファイルの保存先
Office製品がインストールされているフォルダにあります。
Office 2019/2021/365の場合:
C:\Program Files\Microsoft Office\Office16\
または
C:\Program Files (x86)\Microsoft Office\Office16\
Office 2016の場合:
同じくOffice16フォルダです。
Office 2013の場合:
C:\Program Files\Microsoft Office\Office15\
バージョンによってフォルダ名が変わるので、確認が必要ですよ。
アーキテクチャの違い
64ビット版と32ビット版で場所が異なります。
64ビット版Office:
Program Files フォルダ
32ビット版Office:
Program Files (x86) フォルダ
自分のOfficeがどちらかを確認しましょう。
コマンドの実行方法
基本的な実行手順
管理者権限が必要です。
ステップ1:コマンドプロンプトを管理者として開く
スタートメニューで「cmd」を検索し、右クリックして「管理者として実行」を選択します。
ステップ2:Officeフォルダに移動
cd "C:\Program Files\Microsoft Office\Office16"
引用符で囲むことで、スペースを含むパスでもエラーになりません。
ステップ3:osppコマンドを実行
cscript ospp.vbs /オプション
cscript.exeを使ってVBScriptを実行する形式ですね。
PowerShellでの実行
PowerShellからも実行できます。
cd "C:\Program Files\Microsoft Office\Office16"
cscript ospp.vbs /dstatus
管理者権限のPowerShellで実行してください。
主要なコマンドオプション
ライセンス状態の確認
最もよく使うコマンドです。
詳細なライセンス情報を表示:
cscript ospp.vbs /dstatus
現在インストールされているすべてのOffice製品のライセンス情報が表示されます。
- プロダクトキーの最後の5文字
- ライセンスの種類(MAK、KMS、OEM等)
- ライセンスステータス(ライセンス認証済み、未認証等)
- 残りの猶予期間
トラブルシューティングの第一歩として使いますよ。
簡易表示:
cscript ospp.vbs /dstatusall
すべての製品を一覧表示します。
プロダクトキーの管理
ライセンスキーの追加と削除ができます。
プロダクトキーのインストール:
cscript ospp.vbs /inpkey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
XXXXXの部分に実際のプロダクトキーを入力します。
プロダクトキーの削除:
cscript ospp.vbs /unpkey:XXXXX
キーの最後の5文字を指定して削除できますね。
すべてのキーを表示:
cscript ospp.vbs /dinstid
インストールIDと共に表示されます。
ライセンス認証の実行

オンライン認証
インターネット経由で認証します。
認証の実行:
cscript ospp.vbs /act
Microsoftの認証サーバーに接続して、ライセンスを有効化します。
数秒から数分で完了しますよ。
電話認証
インターネットが使えない環境での認証方法です。
インストールIDの取得:
cscript ospp.vbs /dinstid
表示されたインストールIDを、電話でMicrosoftに伝えます。
確認IDの入力:
cscript ospp.vbs /actcid:XXXXXXXXX
Microsoftから受け取った確認IDを入力して認証完了です。
KMS設定コマンド
KMSサーバーの指定
企業内のKMSサーバーを設定します。
KMSホストの設定:
cscript ospp.vbs /sethst:kms.company.local
KMSサーバーのホスト名またはIPアドレスを指定しますね。
KMSポートの設定:
cscript ospp.vbs /setprt:1688
デフォルトは1688ポートですが、変更している場合は指定が必要です。
設定の確認:
cscript ospp.vbs /dhistorykms
KMS接続履歴が表示されます。
KMS認証の実行
KMSサーバーに接続して認証します。
cscript ospp.vbs /act
KMSホストが正しく設定されていれば、自動的にKMS認証が実行されますよ。
KMS設定のクリア
KMS設定を削除したい場合です。
KMSホストのクリア:
cscript ospp.vbs /remhst
KMSキャッシュのクリア:
cscript ospp.vbs /cachst:FALSE
MAKキーに切り替える場合などに使用します。
トラブルシューティングコマンド
ライセンスのリセット
認証に問題がある場合の対処です。
Office保護プラットフォームのリセット:
cscript ospp.vbs /rearm
ライセンス情報をリセットして、初期状態に戻します。
実行後は再起動が必要ですね。
注意:
rearmは回数制限があります(通常3〜5回)。
むやみに実行しないようにしましょう。
詳細なエラー情報
エラーコードの詳細を確認できます。
cscript ospp.vbs /dstatus
エラーコードが表示された場合は、Microsoftのサポートページで意味を調べられますよ。
ライセンストークンの確認
cscript ospp.vbs /dtokils
トークンベースライセンスの情報が表示されます。
実践的な使用例
新しいプロダクトキーへの切り替え
既存のキーを削除して、新しいキーをインストールします。
手順:
# 1. 現在のライセンス状態を確認
cscript ospp.vbs /dstatus
# 2. 古いキーの最後の5文字を確認(例:ABCDE)
# 3. 古いキーを削除
cscript ospp.vbs /unpkey:ABCDE
# 4. 新しいキーをインストール
cscript ospp.vbs /inpkey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
# 5. ライセンス認証を実行
cscript ospp.vbs /act
# 6. 認証状態を確認
cscript ospp.vbs /dstatus
順番に実行していけば、確実に切り替えられますね。
KMS環境のセットアップ
企業内KMSサーバーを使う設定です。
# 1. KMSホストを設定
cscript ospp.vbs /sethst:kms-server.company.local
# 2. ポートを設定(デフォルトの1688の場合は省略可)
cscript ospp.vbs /setprt:1688
# 3. KMS認証を実行
cscript ospp.vbs /act
# 4. 認証状態を確認
cscript ospp.vbs /dstatus
MAKからKMSへの変更
MAK(Multiple Activation Key)からKMSに切り替える場合です。
# 1. 現在のMAKキーを削除
cscript ospp.vbs /unpkey:XXXXX
# 2. KMS用のGVLK(Generic Volume License Key)をインストール
cscript ospp.vbs /inpkey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
# 3. KMSホストを設定
cscript ospp.vbs /sethst:kms.company.local
# 4. 認証を実行
cscript ospp.vbs /act
GVLKは、Microsoftの公式ドキュメントで確認できますよ。
バッチファイルでの自動化
複数コマンドの一括実行
バッチファイルにまとめると便利です。
例:ライセンス確認バッチ(check_license.bat)
@echo off
echo Office License Status Check
echo =============================
cd /d "C:\Program Files\Microsoft Office\Office16"
cscript ospp.vbs /dstatus
pause
ダブルクリックするだけで、ライセンス状態を確認できますね。
KMS設定バッチ
新しいPCのセットアップを自動化できます。
例:KMS設定バッチ(setup_kms.bat)
@echo off
echo Setting up KMS activation
cd /d "C:\Program Files\Microsoft Office\Office16"
cscript ospp.vbs /sethst:kms.company.local
cscript ospp.vbs /setprt:1688
cscript ospp.vbs /act
echo KMS setup complete!
pause
大量のPCをセットアップする際に時間短縮できますよ。
よくあるエラーと対処法
0xC004F074 – KMSサーバーが見つからない
KMS設定の問題です。
原因:
- KMSホスト名が間違っている
- ネットワーク接続の問題
- ファイアウォールでブロックされている
対処法:
# KMS設定を確認
cscript ospp.vbs /dhistorykms
# ホスト名をpingで確認
ping kms.company.local
# 再設定
cscript ospp.vbs /sethst:正しいホスト名
cscript ospp.vbs /act
0x80070005 – アクセス拒否
権限の問題ですね。
対処法:
コマンドプロンプトまたはPowerShellを「管理者として実行」してください。
管理者権限がないと、osppコマンドは実行できません。
0xC004C003 – 認証サーバーに接続できない
インターネット接続の問題です。
対処法:
- インターネット接続を確認
- プロキシ設定を確認
- ファイアウォールの例外設定を確認
- 電話認証に切り替える
0xC004F017 – プロダクトキーが無効
キーの入力ミスか、別のバージョン用のキーです。
対処法:
- キーを再確認して正しく入力
- Officeのバージョンとキーが一致しているか確認
- リテール版とボリュームライセンス版の違いを確認
Office 365との違い

サブスクリプション版の特徴
Office 365(Microsoft 365)は、認証方式が異なります。
Office 365 ProPlus:
- アカウントベースの認証
- osppコマンドの一部機能は使えない
- Microsoftアカウントで管理
サブスクリプション版では、オンラインアカウントでのサインインが基本ですね。
共存環境
ボリュームライセンス版とOffice 365が共存する場合もあります。
cscript ospp.vbs /dstatusall
このコマンドで、両方のライセンス状態を確認できますよ。
セキュリティとベストプラクティス
プロダクトキーの保護
キーは機密情報として扱いましょう。
注意点:
- スクリプトに平文で記載しない
- ログファイルに残さない
- 不要になったら確実に削除
暗号化やセキュアな保管が重要ですね。
定期的な確認
ライセンス状態を定期的にチェックします。
推奨:
月に1回程度、ライセンス状態を確認しましょう。
cscript ospp.vbs /dstatus
期限切れや認証エラーを早期発見できますよ。
ドキュメント化
設定内容を記録しておきます。
- 使用しているキーの種類(MAK/KMS)
- KMSサーバーのホスト名
- 設定変更の履歴
トラブル時の対応が迅速になります。
リモート管理
リモートPCへの実行
PsExecなどのツールで、リモート実行も可能です。
psexec \\RemotePC -u Administrator cmd
cd "C:\Program Files\Microsoft Office\Office16"
cscript ospp.vbs /dstatus
大規模環境での一括管理に便利ですね。
PowerShellリモーティング
Invoke-Command -ComputerName RemotePC -ScriptBlock {
cd "C:\Program Files\Microsoft Office\Office16"
cscript ospp.vbs /dstatus
}
複数のPCに対して同時実行もできますよ。
ログの活用
実行結果の保存
ログファイルに出力すると、後で確認できます。
cscript ospp.vbs /dstatus > license_status.txt
トラブルシューティング時の証跡として使えますね。
複数PCの情報収集
ネットワーク全体のライセンス状態を集計できます。
@echo off
echo PC Name, License Status > report.csv
for /f %%i in (computers.txt) do (
echo Checking %%i...
psexec \\%%i cmd /c "cd \"C:\Program Files\Microsoft Office\Office16\" && cscript ospp.vbs /dstatus" >> report.csv
)
その他の便利なオプション
全オプションの表示
cscript ospp.vbs /?
または
cscript ospp.vbs /help
利用可能なすべてのオプションが表示されます。
詳細モード
cscript //Nologo ospp.vbs /dstatus
//Nologoオプションで、VBScriptのバージョン情報を非表示にできますね。
まとめ:osppコマンドをマスターしよう
osppコマンドは、Officeのライセンス管理に欠かせないツールです。
基本的なコマンドを覚えることで、トラブルシューティングや管理業務が効率化されます。
この記事の重要ポイント:
- osppはOfficeのライセンス管理用コマンドラインツール
- Office16フォルダ内のospp.vbsファイルを使用
- 管理者権限での実行が必須
- /dstatusで現在のライセンス状態を確認
- /inpkeyでプロダクトキーをインストール
- /actでライセンス認証を実行
- KMS環境では/sethstでサーバー設定
- バッチファイルで作業を自動化可能
- エラーコードを理解してトラブル解決
- セキュリティとドキュメント化が重要
まずは/dstatusコマンドで、自分のOfficeのライセンス状態を確認してみましょう。
実際にコマンドを実行することで、osppの理解が深まっていきますよ。

コメント