你曾經將 群組原則物件 (GPO) 應用到 Active Directory 組織單元 (OU) 並想要驗證它們是否應用了嗎?如果是,你需要了解 gpresult
命令。
掃描你的 AD,發現 930+ 百萬個被犯罪的密碼。 下載 Specops 密碼審核員,一個免費的只讀工具,可以識別與密碼相關的漏洞。
在本教程中,你將學習如何使用 gpresult
命令來驗證本地和遠程 Windows 機器上的群組原則設置。
讓我們開始吧!
先決條件
如果你想要跟著本教程的示例進行,請確保你具備以下條件:
- 一個 Active Directory 域。任何版本都可以。本教程將使用一個名為 HomeLab.Local 的域。
- A domain-joined Windows PC with at least one GPO applied to it. If you’d like to learn how to invoke
gpresult
remotely, you’ll need a second domain-joined PC. This tutorial will use two Windows 10 computers called Win10VM1 and Win10VM2. - 你本地 PC 和遠程 PC 上的本地管理員權限。
理解 GPResult 命令
GPResult 是 Windows 內建的命令行工具,用於生成有關應用於域加入計算機的策略的報告,包括基於用戶和基於計算機的策略。
當一個 Active Directory 管理員將 GPO 分配給 OU 時,該 OU 中的計算機或用戶會檢查並應用這些設置。當目標計算機接收到 GPO 時,就會用到 gpresult
。
每台電腦實際接收並應用這些設定的時間取決於 群組原則刷新間隔。
gpresult
實用程式允許您在這些目標電腦上運行命令,以確認您認為應該應用的 GPO 是否實際上是這樣。
使用 GPResult 獲取幫助
像許多其他命令行實用程式一樣,gpresult
具有簡單的內置幫助系統。這個幫助系統讓您輕鬆找到所有那些難以記住的開關。
您可以通過只運行無參數的 gpresult
來查找 gpresult
提供的所有開關,如下所示。與其在想要知道參數做什麼時回到這篇文章,不如記住內置幫助的存在!

檢索政策結果設定(RSOP)數據
沒有參數運行 gpresult
將僅顯示幫助信息。您需要它來檢索一些信息!首先,讓我們首先介紹 /r
開關或 政策結果設定 的工作原理。
政策的結果集 (RSOP) 是一個群組政策附加組件,允許您查詢群組政策的各個方面。RSOP 是發現分配給計算機的政策的一種絕佳方式。
GPResult
以記錄模式顯示 RSOP 數據,其中包括用戶和計算機 OU 路徑、域名、AD 群組成員資格、安全設置以及適用於用戶和計算機的應用 GPO。
要使用 gpresult
查詢 RSOP 數據,打開 cmd.exe 或 PowerShell 作為管理員,使用如下所示的 /r
開關調用 gpresult
您可以在下面看到,gpresult
除其他外,還返回特定計算機 (計算機設置) 和針對將登錄計算機的所有用戶的 GPO (用戶設置) 的所有 GPO。
您可以在非管理員命令提示字元上運行
gpresult /R
,但它只會顯示應用於運行該命令的用戶的政策。

深入挖掘:查找詳細應用的群組政策信息
如果您只需查看特定計算機或用戶(在該計算機上)應用的GPO,則從/r
開關獲得的RSOP數據就可以了。但是RSOP數據僅能提供有限的信息。RSOP數據不提供例如登錄腳本的最後執行時間、GPO創建的註冊表鍵等信息。
要發現像gpresult
所提供的那樣多的信息,請使用如下所示的/v
或詳細開關。
查看/v
提供的所有信息。這是大量的信息!







查看下面/r
和/v
之間的區別。您將看到/r
僅提供GPO名稱,而/v
提供登錄腳本文件名和腳本在計算機上上次執行的時間。

將GPresult限制為基於用戶或計算機的設置
如前所述,gpresult
默認返回基於用戶和計算機的設置。有時,特別是在管理具有數百個設置的GPO時,輸出的數量可能會讓人感到不知所措。
如果您只想查找應用於計算機或用戶的設置,gpresult
允許您使用/scope
參數限制查詢的範圍。通過將/scope
參數的參數輸入設置為computer
或user
,gpresult
將僅返回應用於所有用戶或計算機的設置。
要查看計算機範圍內所有政策的RSOP數據,運行以下命令。
如何僅以詳細模式找到所有使用者的所有政策?
除了其他開關,
/scope
參數可用於限制任一命令的範圍,如/r
和/v
。
如果您以系統管理員身份運行cmd.exe或PowerShell並調用GPResult,它將返回所有使用者的群組政策設置。如果使用/scope user
開關,它將刪除基於電腦的設置,但仍將返回所有使用者的設置。
如果您需要將設置限制為同時登錄的單個使用者,請使用/user
參數,然後跟著所需用戶名作為參數。
如果嘗試查詢不存在的用戶的RSOP數據,GPResult將返回消息
用戶"<user>"沒有RSOP數據
。
導出GPResult輸出
有時僅返回信息到命令行控制台是不夠的。也許您需要構建一份報告或將結果與他人分享。在這種情況下,您需要將結果導出到其他格式。
您可以以幾種不同的方式導出GPResult輸出。
將結果導出為文本文件
One of the easiest ways to export results to a file is using the command prompt or PowerShell’s output redirection feature. By “piping” the command-line results to a file with the redirection operator >
followed by a text file name, the text will contain exactly what you’d see in the console.
The below command would return all RSOP data and create a file called C:\Temp\RsopReport.txt containing the entire results of the GPResult command.
將結果匯出到 HTML 或 XML 檔案
與從命令提示字元到文字檔的本機重定向不同,您還可以將應用的原則資訊生成並保存到 HTML 或 XML 檔案中。使用 /H
開關(用於 HTML)或 /X
開關(用於 XML)後跟所要求的 HTML 檔案路徑,GPResult 將創建一個格式漂亮的 HTML 檔案輸出。
如果檔案已存在,GPResult 將返回錯誤。使用
/F
開關來強制 GPResult 覆寫現有檔案。
遠端執行 GPResult
在本教程中,您一直在本機運行 GPResult。使用 /s
參數,GPResult 也可以遠端檢索相同的群組原則設定。
例如,要查找已經登錄到遠端電腦win10vm1的使用者user01的RSOP數據,您可以運行以下命令:

也許您已經登錄到一台沒有權限查詢遠端計算機上的群組政策信息的計算機。在這種情況下,除非指定替代憑據,否則GPResult將失敗。
請使用下面所示的/U
(用戶名)和/P
(密碼)參數指定替代憑據。

您的Active Directory中是否存在受影響的密碼?立即下載Specops Password Auditor,免費掃描密碼漏洞!
結論
您現在應該知道如何使用GPResult命令查詢本地和遠端計算機上應用的群組政策設置。這個方便的命令是任何Active Directory管理員的重要發現和故障排除工具。
下次當您想知道,“我該如何確認一台加入域的計算機應用了我期望的GPO時”,您將使用什麼工具?