Windowsコマンドプロンプトの「gpresult /r」使い方完全ガイドと応用例

gpresult /rは、適用されたグループポリシーのRSoP(結果セット)を要約表示するコマンドです。GPO名や対象ユーザーなどを確認する入口にはなりますが、個々の設定値をすべて表示するオプションではありません。設定の詳細は/v・/zやHTMLレポートを使い分けます。

この記事ではWindowsのコマンドプロンプト(cmd.exe)での例を示します。gpresultは調査用で、ポリシーを更新・修正するコマンドではありません。組織のPCでは、取得した結果を管理者へ渡し、GPO・権限・レジストリを自己判断で変更しないでください。

目次

まず使うコマンド:ユーザーとコンピューターを分ける

現在のユーザー設定を確認する

調べたいユーザーとしてサインインしたコマンドプロンプトで実行します。まずwhoamiで実行アカウントを確認してください。別の管理者アカウントで起動すると、調査したいユーザーと実行アカウントが食い違うことがあります。

whoami
gpresult /scope user /r

自分のユーザー範囲の確認と、コンピューター全体・他ユーザー・リモートPCの確認は必要な権限が異なります。「管理者として実行すれば必ずデスクトップのユーザーの結果になる」とは考えず、出力の対象名も確認します。

コンピューター設定を確認する

必要な権限を持つ管理者としてコマンドプロンプトを開き、コンピューター範囲を指定します。

gpresult /scope computer /r

ユーザー設定はアカウントの環境、コンピューター設定は端末全体を対象とします。同じPCでも、ユーザー範囲にある設定とコンピューター範囲にある設定は区別して調べてください。

両方の範囲を要約表示する

gpresult /r

/scopeを省略するとユーザーとコンピューターの両方が対象になります。ただし、権限やRSoPデータの有無によって結果を取得できない場合があります。取得できなかった範囲を「ポリシーが存在しない」と扱わないでください。

/r・/v・/z・/h・/xの違い

  • /r:要約。適用GPOや対象、グループ情報などを確認する入口。
  • /v:詳細なポリシー情報。優先順位1で適用された設定の詳細を含みます。
  • /z:取得可能なグループポリシー情報をより広く表示し、優先順位1以上の詳細を含みます。
  • /h ファイル名:HTMLレポートを保存。個別設定や適用元を確認するときに便利です。
  • /x ファイル名:XML形式で保存。
  • /f:/hまたは/xの保存先に同名ファイルがある場合に強制上書き。必要な過去の結果を消さないよう注意します。

/h・/xは、/r・/v・/zや/u・/pと併用できません。「gpresult /r /h report.html」のように混ぜず、用途に合う出力方法を一つ選びます。詳しい組み合わせはgpresult /?で確認してください。

詳細結果とHTMLレポートを保存する

以下はcmd.exeでの例です。%TEMP%は現在の実行ユーザーの一時フォルダーへ展開されます。保存先に同名ファイルがないこと、必要な書き込み権限があることを確認します。

gpresult /scope user /v
gpresult /scope computer /z

コンピューター範囲は管理者として実行します。両方の範囲のレポートを作る場合は、次の例を使います。

gpresult /h "%TEMP%\gpresult-report.html"

完了メッセージを確認し、表示した保存先のHTMLをブラウザーで開きます。既存ファイルがある場合は別名を指定してください。上書きを意図する場合にだけ/fを追加します。PowerShellでは%TEMP%をこのまま環境変数として展開しないため、上記例はcmd.exeで実行してください。

gpresult /scope user /z > "%TEMP%\gpresult-user.txt"

最後の例はテキスト保存です。「>」は既存ファイルを上書きします。レポートにはユーザー名、端末名、ドメイン、グループ所属、内部パス、管理設定などが含まれるため、公開の質問サイトへ丸ごと貼り付けず、承認された管理者へ必要な範囲だけ渡します。

ARM64版Windowsでは、Microsoftは/hを使う場合にSysWOW64内のgpresultを使用するよう案内しています。ARM64環境でHTML出力だけ失敗するときは、この制約も確認します。

出力結果の見方

  • 対象ユーザー・コンピューター:本当に問題の端末とアカウントの結果かを最初に確認します。
  • 適用されたGPO:目的のGPOが一覧にあるかを確認します。GPOが適用されたことと、その中のすべての設定が期待どおりに有効であることは同じではありません。
  • 適用されなかったGPOと理由:表示される場合は、セキュリティやWMIフィルターなどの拒否理由を調べます。拒否が設計どおりのこともあります。
  • 処理時刻・参照先:古い結果を現在の状態と取り違えないように確認します。
  • 詳細設定と適用元:/rで足りなければHTMLや/v・/zで確認します。複数GPOの競合は、GPO名の一覧だけで結論を出しません。

ユーザー設定のログオン/ログオフスクリプトと、コンピューター設定のスタートアップ/シャットダウンスクリプトも別です。これらの個別内容や実行エラーを、/rの要約だけで確認できるとは限りません。詳細レポートとイベントログを照合してください。

特定のユーザーを指定する:/userと/uは別

次はDOMAIN\JohnDoeという対象ユーザーのRSoPを調べる例です。DOMAINとJohnDoeは説明用の名前なので、権限のある実際の対象へ置き換えてください。角括弧をそのまま入力する必要はありません。

gpresult /user DOMAIN\JohnDoe /scope user /r

/userは調査対象、/uはコマンド実行に使う資格情報です。両者を取り違えないでください。対象PCでそのユーザーのRSoPデータが利用できる必要があり、ドメイン上の任意のユーザーの将来の適用結果を計算するコマンドではありません。

リモートPCを調べる場合

gpresult /s PC01 /user DOMAIN\JohnDoe /scope user /r

PC01は調査対象のPC名で、先頭に\\を付けません。管理権限、名前解決、ネットワーク到達性、必要なファイアウォール規則などの条件が整った管理対象PCだけで使います。接続できないからといってファイアウォール全体を無効にせず、管理者へ必要な通信の確認を依頼します。

別の資格情報が必要な場合でも、パスワードをコマンド行や共有スクリプトへ直接書かないでください。/u・/pを使う方法には出力形式との制約もあるため、組織の管理手順を優先します。

よくあるエラーと切り分け

「アクセスが拒否されました」と表示される

要求した範囲を取得する権限があるか確認します。コンピューター範囲なら許可された管理者として実行し、ユーザー範囲なら実行アカウントと/userの対象を確認します。権限不足を解消するために、一般ユーザーを管理者グループへ追加することは、この調査の手順ではありません。

「RSoPデータがありません」と表示される

指定ユーザー名・対象PC・対象範囲を確認します。対象ユーザーがそのPCへサインインしていないなど、結果データを利用できない場合があります。「データなし」は、そのユーザーに管理設定がないことや、GPOが正しく適用されたことの証明にはなりません。

GPOは表示されるのに目的の設定が反映されない

まずユーザー側とコンピューター側の取り違えをなくし、HTMLレポートで設定と適用元を確認します。GPOのリンク先、継承、セキュリティフィルター、WMIフィルター、ループバック処理などの構成は管理者が調べます。GPOを見つけただけで、すぐにフィルターやリンクを変更しないでください。

「組織によって管理されています」なのにGPOが見つからない

gpresultはグループポリシーの結果を調べるもので、IntuneなどのMDM管理を網羅する一覧ではありません。gpresultに表示がないことだけで「組織管理されていない」と判断できません。該当する管理方式に応じて、管理者がMDM診断や管理サービスのレポートも確認します。

イベントログと組み合わせて原因を調べる

イベントビューアの「Windowsログ」→「システム」でGroupPolicyに関係する警告・エラーを確認し、発生時刻とエラー内容を記録します。さらに、次のOperationalログも調べます。これは画面上の場所を示すもので、cmd.exeへ入力するコマンドではありません。

「アプリケーションとサービスログ」→「Microsoft」→「Windows」→「GroupPolicy」→「Operational」

同じPCで複数のポリシー処理が発生するため、必要に応じてActivityIDで同じ処理のイベントを追います。gpresultのレポート時刻と症状の発生時刻を照合し、エラー本文を手掛かりにネットワークや認証などの依存先を調べます。

gpresultとgpupdateを混同しない

gpresultは結果の参照、gpupdateはグループポリシーの更新です。情報を確認したいだけなら、最初からgpupdate /forceを実行する必要はありません。管理者が更新を指示した場合は、作業中のデータを保存し、サインアウトや再起動が必要な処理の影響も確認します。更新後はレポートを再取得し、同じ設定・同じ対象で比較してください。

実務での確認例と演習

以下は調査手順を学ぶための想定例で、特定企業で解決した実績の報告ではありません。所属組織が許可する検証環境で行ってください。

  • 演習1:自分のユーザー範囲。whoamiとgpresult /scope user /rを実行し、対象名と適用GPOを確認します。
  • 演習2:コンピューター範囲。管理者としてgpresult /scope computer /rを実行し、ユーザー側との対象の違いを確認します。
  • 演習3:特定ユーザー。利用可能なRSoPデータと調査権限を確認して/userを使います。別ユーザーで起動した結果を混同しないことがポイントです。
  • 演習4:個別設定。別名のHTMLレポートを保存し、調べたい設定と適用元を確認します。/rだけでは不足することを確認します。
  • 演習5:ログとの照合。レポートとGroupPolicyのSystem/Operationalイベントを同じ発生時刻で比べ、必要に応じてActivityIDを追います。

例えば背景やドライブ割り当てが反映されないという相談では、対象ユーザー、GPOの有無、詳細設定、ログの順で調べます。スクリプト・ネットワーク・設定の競合など複数の原因があり得るため、/rだけで「フィルターが原因」「スクリプトを直せば解決」とは断定しません。

まとめと公式資料

gpresult /rは要約、/scopeは対象範囲、/userは対象ユーザーという役割を分けて使います。設定の詳細はHTMLや/v・/z、処理の失敗はイベントログで確認し、データがないことと設定がないことを混同しないようにしてください。

参照:Microsoft公式のgpresult、グループポリシー適用のトラブルシューティング、MDMログの収集、gpupdate。表示内容はWindowsのバージョン、権限、管理方式によって異なります。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次