Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows Server

การใช้คำสั่ง GPResult เพื่อตรวจสอบ GPO ที่นำไปใช้และข้อมูล RSoP

เครื่องมือบรรทัดคำสั่ง GPResult.exe ใช้เพื่อรับ Resultant Set of Policy (RSoP) ที่นำไปใช้กับผู้ใช้และ/หรือคอมพิวเตอร์ในโดเมน Active Directory GPResult ช่วยให้คุณแสดงรายการนโยบายโดเมน (GPOs) ที่นำไปใช้กับคอมพิวเตอร์และผู้ใช้ การตั้งค่านโยบาย เวลาการประมวลผล GPO และข้อผิดพลาด นี่คือเครื่องมือผู้ดูแลระบบที่ใช้กันอย่างแพร่หลายที่สุดสำหรับการวิเคราะห์การตั้งค่าและการแก้ไขปัญหา Group Policy ใน Windows

วิธีใช้คำสั่ง Group Policy Results (GPResult.exe)

คุณต้องรันคำสั่ง GPResult บนคอมพิวเตอร์ที่คุณต้องการตรวจสอบการนำไปใช้ของ Group Policy ไวยากรณ์สำหรับ GPResult คือ:

GPRESULT [/S system [/U username [/P [password]]]] [/SCOPE scope] [/USER targetusername] [/R | /V | /Z] [(/X | /H) <filename> [/F]]

เพื่อรับข้อมูลโดยละเอียดเกี่ยวกับ Group Policies ที่นำไปใช้กับผู้ใช้หรือคอมพิวเตอร์เฉพาะ รวมถึงการตั้งค่าอื่นๆ ที่เกี่ยวข้องกับโครงสร้างพื้นฐาน GPO (การตั้งค่านโยบาย GPo ที่เป็นผลลัพธ์, RsoP) ให้เปิดคำสั่งพร้อมท์และรันคำสั่งนี้:
Gpresult /r
ผลลัพธ์ของคำสั่งนี้แบ่งออกเป็นสองส่วน:

  • COMPUTER SETTINGS – ส่วนนี้มีข้อมูลเกี่ยวกับออบเจ็กต์ GP ที่นำไปใช้กับคอมพิวเตอร์ (ในฐานะออบเจ็กต์ Active Directory)
  • USER SETTINGS – นี่คือส่วนนโยบายผู้ใช้ (นโยบายที่นำไปใช้กับบัญชีผู้ใช้ AD)

มาครอบคลุมการตั้งค่า/ส่วนพื้นฐานในเอาต์พุต GPResult ที่อาจน่าสนใจสำหรับผู้ดูแลระบบ:

  • Site Name – คือชื่อไซต์ AD ที่คอมพิวเตอร์ตั้งอยู่
  • CN – ชื่อเต็มแบบ canonical ของผู้ใช้/คอมพิวเตอร์ที่สร้างข้อมูล RSoP
  • Last time Group Policy was applied – คือเวลาที่การตั้งค่า Group Policy ถูกนำไปใช้ (อัปเดต) ล่าสุด
  • Group Policy was applied from – คือชื่อโดเมนคอนโทรลเลอร์ที่ดาวน์โหลด GPO เวอร์ชันล่าสุด
  • Domain Name and Domain Type – คือชื่อและหมายเลขเวอร์ชันของสคีม่า Active Directory โดเมน
  • Applied Group Policy Objects – คือรายการ GPOs ที่นำไปใช้
  • The following GPOs were not applied because they were filtered out
  • The user is a part of the following security groups – รายการกลุ่มความปลอดภัยโดเมนที่ผู้ใช้เป็นสมาชิก

ในตัวอย่างนี้ คุณเห็นว่ามี Group Policies 4 ตัวที่นำไปใช้กับออบเจ็กต์ผู้ใช้

  • Disable Cached Credentials
  • DNS Suffix Search List
  • Enable Windows Firewall
  • Default Domain Policy

รายงานจะมีข้อมูลเกี่ยวกับการตั้งค่านโยบายท้องถิ่นที่กำหนดค่าผ่าน Local Group Policy Editor (gpedit.msc) ด้วย

คุณสามารถใช้ตัวเลือก /scope เพื่อแสดงเฉพาะนโยบายผู้ใช้หรือคอมพิวเตอร์:
gpresult /r /scope:user
หรือเฉพาะนโยบายคอมพิวเตอร์ที่นำไปใช้:
gpresult /r /scope:computer
หากคุณพยายามรับรายการ GPOs ที่นำไปใช้กับออบเจ็กต์คอมพิวเตอร์ภายใต้บัญชีผู้ใช้ที่ไม่ใช่แอดมิน คำสั่ง gpresult จะคืนค่าข้อผิดพลาด access denied:
gpresult /r /scope:computer

ERROR: Access Denied.

สำหรับความสะดวกในการแยกวิเคราะห์และวิเคราะห์ข้อมูล RSOP คุณสามารถเปลี่ยนทิศทางผลลัพธ์ Gpresult ไปยังคลิปบอร์ด:
Gpresult /r |clip
หรือไฟล์ข้อความ:
Gpresult /r > c:\ps\gpresult.txt
เพื่อแสดงข้อมูล RSoP ที่ละเอียดมากขึ้น คุณต้องเพิ่มกุญแจ /z:
Gpresult /r /z
ตัวอย่างเช่น สกรีนชอตแสดงการตั้งค่านโยบายรหัสผ่านโดเมนที่นำไปใช้กับคอมพิวเตอร์

การส่งออกรายงาน RSoP เป็น HTML ด้วย GPResult

GPResult อนุญาตให้คุณสร้างรายงาน HTML เกี่ยวกับนโยบายผลลัพธ์ที่นำไปใช้ (พร้อมใช้งานใน Windows 7 และใหม่กว่า) รายงานนี้มีข้อมูลโดยละเอียดเกี่ยวกับการตั้งค่าระบบทั้งหมดที่ตั้งค่าโดย Group Policies และชื่อ GPOs ที่ตั้งค่าพวกเขา รายงาน HTML gpresult มีโครงสร้างคล้ายกับแท็บ Settings ในคอนโซลจัดการ Group Policy (gpmc.msc) คุณสามารถสร้างรายงาน RSoP HTML โดยใช้คำสั่ง gpresult ต่อไปนี้:
GPResult /h c:\PS\gpo-report.html /f
หากคุณไม่ระบุพาธเต็มไปยังไฟล์ HTML รายงาน HTML gpresult จะถูกบันทึกในโฟลเดอร์ %WINDIR%\system32

เพื่อสร้างรายงานและเปิดมันในเบราว์เซอร์โดยอัตโนมัติ ให้รันคำสั่งต่อไปนี้:
GPResult /h GPResult.html & GPResult.html
รายงาน HTML gpresult มีข้อมูลที่เป็นประโยชน์มาก: คุณสามารถเห็นข้อผิดพลาดการนำไปใช้ GPO, เวลาการประมวลผล (ใน ms) สำหรับนโยบายเฉพาะและ CSEs (ในส่วน Computer Details → Component Status) นี่มีประโยชน์เมื่อคุณต้องการเข้าใจว่าทำไมการประมวลผล GPO ใช้เวลานาน

ตัวอย่างเช่น ในสกรีนชอตข้างต้น คุณเห็นว่านโยบาย Enforce password history ด้วยการตั้งค่า “24 passwords remembered” ถูกนำไปใช้โดย Default Domain Policy (Winning GPO column)

รายงาน HTML ช่วยให้คุณนำเสนอชุดผลลัพธ์ของคอมพิวเตอร์ GPOs ในรูปแบบกราฟิกที่สะดวก

GPResult: การรับข้อมูล RSOP จากคอมพิวเตอร์ระยะไกล

GPResult ยังสามารถรับชุดนโยบายผลลัพธ์จากคอมพิวเตอร์ระยะไกลได้เช่นกัน โดยไม่ต้องล็อกอินท้องถิ่นหรือผ่าน RDP ไปยังอุปกรณ์ระยะไกล
GPResult /s remote-pc-name1 /r
คุณสามารถระบุชื่อผู้ใช้และรหัสผ่านเพื่อเชื่อมต่อกับคอมพิวเตอร์ระยะไกลโดยใช้ตัวเลือก gpresult:

gpresult /R /S wks2b21c /scope user /U corp\jsmith /P myPaSSw0rd1!

หากคุณไม่ต้องการให้รหัสผ่านถูกบันทึกในประวัติคำสั่ง PowerShell คุณสามารถขอรหัสผ่านแบบโต้ตอบได้:

gpresult /R /S wks2b21c /scope user /U corp\jsmith /P

เช่นเดียวกัน คุณสามารถรวบรวมข้อมูลเกี่ยวกับนโยบายผู้ใช้และคอมพิวเตอร์ทั้งสองจากระยะไกลได้

หากคุณไม่ทราบชื่อผู้ใช้ที่ล็อกอินอยู่บนคอมพิวเตอร์ระยะไกล คุณสามารถรับชื่อผู้ใช้ได้เช่นนี้:

qwinsta /SERVER:wks2b21c

รายงาน RSOP HTML ที่คล้ายกับรายงานที่สร้างโดยคำสั่ง gpresult สามารถสร้างได้โดยใช้ PowerShell เพื่อรับรายงานนโยบายผลลัพธ์จากคอมพิวเตอร์ระยะไกล ให้ใช้คำสั่ง Get-GPResultantSetOfPolicy จากโมดูล GroupPolicy:

Get-GPResultantSetOfPolicy -user jsmith -computer corp\wks2b21c -reporttype html -path c:\ps\gpo_rsop_report.html

GPResult: ผู้ใช้ไม่มีข้อมูล RSoP

เมื่อ UAC เปิดใช้งานและ GPResult ถูกใช้ในโหมด non-elevated จะแสดงเฉพาะส่วนการตั้งค่าผู้ใช้ของ Group Policies หากคุณต้องการให้ทั้งสองส่วน (USER SETTINGS และ COMPUTER SETTINGS) แสดง คำสั่งต้องรันในคำสั่งพร้อมท์ด้วยสิทธิ์ผู้ดูแลระบบ

หากคำสั่งพร้อมท์ที่เพิ่มสิทธิ์รัน בשםบัญชีที่แตกต่างจากผู้ใช้ปัจจุบัน เครื่องมือจะแสดงคำเตือน: INFO: The user “domain\user” does not have RSOP data สิ่งนี้เกิดขึ้นเพราะ GPResult พยายามรวบรวมข้อมูลของผู้ใช้ที่เริ่มต้นมัน แต่เนื่องจากผู้ใช้นี้ไม่ได้ล็อกอิน จึงไม่มีข้อมูล RSOP สำหรับเขา เพื่อรวบรวมข้อมูล RSOP สำหรับผู้ใช้ที่มีเซสชันใช้งานอยู่ คุณต้องระบุบัญชีของเขา:
gpresult /r /user:corp\edward

ตรวจสอบเวลา (และโซนเวลา) บนไคลเอ็นต์ด้วย เวลาต้องตรงกับเวลาบนโดเมนคอนโทรลเลอร์ที่รันบทบาท FSMO PDC (Primary Domain Controller)

The following GPOs Were Not Applied Because They Were Filtered Out

เมื่อแก้ไขปัญหานโยบายกลุ่มที่นำไปใช้ คุ้มค่าที่จะสนใจส่วน: The following GPOs were not applied because they were filtered out มันมีรายการ GPOs ที่ไม่ได้นำไปใช้กับออบเจ็กต์นี้ด้วยเหตุผลใดเหตุผลหนึ่ง นี่คือเหตุผลบางอย่างที่ GPOs ไม่ได้นำไปใช้กับออบเจ็กต์ Active Directory เฉพาะ:

  • Filtering: Not Applied (Empty) – นโยบายว่างเปล่า (ไม่มีอะไรให้นำไปใช้)
  • Filtering: Denied (Unknown Reason) – ผู้ใช้/คอมพิวเตอร์อาจไม่มีสิทธิ์อ่าน/นำไปใช้นโยบายนี้ สิทธิ์สามารถกำหนดค่าได้ในแท็บ Security ของคอนโซลจัดการ Group Policy (gpmc.msc)
  • Filtering: Denied (Security) — การปฏิเสธอย่างชัดเจนถูกระบุในส่วน Apply Group Policy หรือออบเจ็กต์ AD ไม่อยู่ในรายการกลุ่มในส่วน Security Filtering ของ GPO

คุณยังสามารถดูได้ว่า GPO ควรนำไปใช้กับ Organizational Unit (OU) ใน AD หรือออบเจ็กต์เฉพาะบนแท็บ effective permissions (Advanced → Effective Access) ใน GPMC

สแนปอิน Resultant Set of Policies (RSOP.msc) ใน Windows

เริ่มแรก คอนโซลภาพ RSOP.msc ถูกใช้เพื่อวินิจฉัย Group Policies ที่นำไปใช้ใน Windows คอนโซล mmc นี้ช่วยให้คุณรับการตั้งค่าของนโยบายผลลัพธ์ (โดเมน + ท้องถิ่น) ที่นำไปใช้กับคอมพิวเตอร์และผู้ใช้ในรูปแบบกราฟิกที่คล้ายกับคอนโซลตัวแก้ไข GPO คอนโซล RSOP.msc บนสกรีนชอตด้านล่างแสดงว่าการตั้งค่า Windows update ถูกกำหนดค่าโดยนโยบาย WSUS_SERVERS

คุณไม่สามารถใช้ RSOP.msc เพื่อวิเคราะห์ GPOs ที่นำไปใช้ใน Windows เวอร์ชันสมัยใหม่ได้อย่างสมบูรณ์ มันไม่แสดงการตั้งค่าที่นำไปใช้ผ่าน Client Side Extensions (CSE) เช่น GPP (Group Policy Preferences) ไม่อนุญาตให้ค้นหา และให้ข้อมูลวินิจฉัยน้อย เมื่อรัน rsop.msc บน Windows 10 และ 11 มีคำเตือนว่าคุณควรใช้ gpresult เพื่อรับรายงาน GPO เต็ม

Starting with Vista, the Resultant Set of Policies (RSoP) report does not show all Microsoft Group Policy settings. To see the full set of Microsoft Group Policy settings applied for a computer or user, use the command-line tool gpresult.

ในบทความนี้ เราดูวิธีใช้คำสั่ง GPResult เพื่อวิเคราะห์ Group Policies ผลลัพธ์ที่นำไปใช้ใน Windows นอกจากนี้ คู่มือต่อไปนี้อาจช่วยแก้ไขปัญหา GPOs ในโดเมน: "Common issues that prevent Group Policy from being applied to clients"