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

รีเซ็ตการตั้งค่า Local Group Policy ใน Windows

เครื่องมือหลักหนึ่งในการกำหนดค่าการตั้งค่าผู้ใช้และระบบใน Windows คือ Group Policy Objects (GPO) Local GPOs (การตั้งค่าเหล่านี้กำหนดค่าท้องถิ่นบนคอมพิวเตอร์) และ domain GPOs (หากคอมพิวเตอร์ join เข้ากับ Active Directory domain) สามารถนำไปใช้กับคอมพิวเตอร์และผู้ใช้ของมัน อย่างไรก็ตาม การกำหนดค่า GPO settings บางอย่างอย่างไม่ถูกต้องอาจนำไปสู่ปัญหาต่างๆ Group Policy settings สามารถบล็อกการเชื่อมต่ออุปกรณ์ USB, shared printers และโฟลเดอร์, จำกัดการเข้าถึงเครือข่ายโดยกฎ Windows Defender Firewall, บล็อกแอปและเครื่องมือจากการติดตั้งหรือรัน (ผ่านนโยบาย SPR หรือ AppLocker), จำกัดการล็อกอินท้องถิ่นหรือระยะไกลไปยังคอมพิวเตอร์

หากคุณไม่สามารถล็อกอินเข้าคอมพิวเตอร์ในท้องถิ่นได้ หรือไม่ทราบว่าการตั้งค่า GPO ใดที่ถูกนำไปใช้ก่อให้เกิดปัญหา คุณต้องใช้สคริปต์เพื่อรีเซ็ตการตั้งค่า Group Policy ให้กลับเป็นค่าเริ่มต้น ในสถานะ "สะอาด" ไม่มีการตั้งค่า Group Policy ใดๆ ถูกกำหนดค่า

ในบทความนี้ เราแสดงหลายวิธีสำหรับการรีเซ็ตการตั้งค่าของ local และ domain Group Policies ให้กลับเป็นค่าเริ่มต้น คู่มือนี้สามารถใช้เพื่อรีเซ็ต GPO settings บน Windows ทุกเวอร์ชันที่รองรับ: จาก Windows 7 ถึง Windows 10, รวมถึงทุกเวอร์ชันของ Windows Server (2008/R2, 2012/R2, 2016 และ 2019)

วิธีรีเซ็ตการตั้งค่า Local Group Policy Editor (Gpedit.msc) ให้เป็นค่าเริ่มต้น

วิธีนี้เกี่ยวข้องกับการใช้ GUI ของคอนโซล Local Group Policy Editor (gpedit.msc) เพื่อปิดใช้งานการตั้งค่า policy ทั้งหมดที่กำหนดค่าไว้ Local GPO graphical editor พร้อมใช้งานเฉพาะใน Windows 10 editions Pro, Enterprise และ Education

Tip. ใน Home editions ของ Windows คอนโซล Local Group Policy Editor (gpedit.msc) หายไป

รัน MMC snap-in gpedit.msc และไปที่ส่วน All Settings (Local Computer Policy -> Computer Configuration -> Administrative templates) ส่วนนี้มีรายการการตั้งค่าทั้งหมดที่พร้อมใช้งานสำหรับการกำหนดค่าใน local administrative GPO templates จัดเรียง policies ตามคอลัมน์ State และค้นหานโยบายที่กำหนดค่าทั้งหมด (Disabled หรือ Enabled state) ปิดใช้งานทั้งหมดหรือบางส่วนโดยการเปลี่ยนเป็นสถานะ Not configured

รีเซ็ตการตั้งค่า Local Group Policy ใน Windows

คุณสามารถใช้เครื่องมือ LGPO.exe จาก Security Compliance Manager เพื่อสำรองการตั้งค่า local GPO ปัจจุบัน

ทำขั้นตอนเดียวกันในส่วน User Configuration ดังนั้น คุณสามารถปิดใช้งานการตั้งค่าของทุก settings ใน Administrative GPO templates

Tip รายการการตั้งค่า local และ domain policy ทั้งหมดที่ถูกนำไปใช้ในรูปแบบ HTML report สะดวก สามารถรับได้ด้วยเครื่องมือ GPResult ที่สร้างใน:
gpresult /h c:\PS\GPRreport.html

วิธีข้างต้นสำหรับการรีเซ็ต Group Policy ใน Windows เหมาะสำหรับกรณีที่ง่ายที่สุด การกำหนดค่า GPO ที่ไม่ถูกต้องอาจนำไปสู่ปัญหาที่รุนแรงกว่า ตัวอย่างเช่น ความไม่สามารถรัน snap-in gpedit.msc หรือแม้แต่อย่างโปรแกรมหรือแอปใดๆ, การสูญเสียสิทธิ์ administrator, หรือการจำกัดการล็อกอินในท้องถิ่น ในกรณีเช่นนี้ คุณต้องรีเซ็ตการตั้งค่า GPO ที่บันทึกไว้ในไฟล์ท้องถิ่นบนคอมพิวเตอร์ของคุณ

ไฟล์ Group Policy Registry.pol

สถาปัตยกรรม Windows Group Policy พัฒนาบนไฟล์ Registry.pol พิเศษ ไฟล์เหล่านี้จัดเก็บการตั้งค่ารีจิสทรีที่สอดคล้องกับ GPO settings ที่กำหนดค่า User และ Computer policies จัดเก็บในไฟล์ Registry.pol ที่ต่างกัน

  • การตั้งค่าคอมพิวเตอร์ (Computer Configuration section) จัดเก็บใน %SystemRoot%\System32\GroupPolicy\Machine\registry.pol
  • การตั้งค่าผู้ใช้ (User Configuration section) จัดเก็บใน %SystemRoot%\System32\GroupPolicy\User\registry.pol

รีเซ็ตการตั้งค่า Local Group Policy ใน Windows

ระหว่างการเริ่มต้น Windows นำเข้าที่มีอยู่ใน \Machine\Registry.pol ไปยัง system registry hive HKEY_LOCAL_MACHINE (HKLM) เนื้อหาของไฟล์ \User\Registry.pol ถูknำเข้าไปยัง hive HKEY_CURRENT_USER (HKCU) เมื่อผู้ใช้ล็อกอิน

เมื่อคุณเปิด Local GPO Editor Console มันโหลดเนื้อหาของไฟล์ registry.pol และแสดงในรูปแบบกราฟิกที่ใช้งานง่าย เมื่อคุณปิด GPO editor การเปลี่ยนแปลงที่คุณทำจะถูกบันทึกในไฟล์ Registry.pol เมื่อคุณอัปเดตการตั้งค่า Group Policy บนคอมพิวเตอร์ของคุณ (โดยใช้คำสั่ง gpupdate /force หรือตามตาราง) การตั้งค่าใหม่จะถูกนำไปใช้กับรีจิสทรี

Tip. เพื่อทำการเปลี่ยนแปลงกับไฟล์ Registry.pol คุณควรใช้เฉพาะ local GPO Editor console เท่านั้น ไม่แนะนำให้แก้ไขไฟล์ Registry.pol ด้วยตนเองหรือใช้เวอร์ชันเก่าของ Group Policy Editor

เพื่อลบการตั้งค่าปัจจุบันทั้งหมดสำหรับ local GPO คุณต้องลบไฟล์ Registry.pol ในโฟลเดอร์ GroupPolicy และ GroupPolicyUsers สามารถลบ directories ทั้งหมดที่มีไฟล์การกำหนดค่านโยบายได้ คุณสามารถทำได้ด้วยคำสั่งต่อไปนี้ รันใน command prompt ที่มีสิทธิ์ผู้ดูแลระบบ:

RD /S /Q "%WinDir%\System32\GroupPolicyUsers"
RD /S /Q "%WinDir%\System32\GroupPolicy"

ใน Windows 10 2004 คำสั่ง RD.exe ถูกลบออก ดังนั้นคำสั่ง RMDIR.exe ต้องใช้เพื่อลบ directories

หลังจากนั้น คุณต้องรีเซ็ตการตั้งค่า GPO เก่าในรีจิสทรีโดยการนำ clean GPO ไปใช้:

gpupdate /force

รีเซ็ตการตั้งค่า Local Group Policy ใน Windows

คำสั่งเหล่านี้จะรีเซ็ตการตั้งค่า local Group Policy ทั้งหมดในส่วน Computer Configuration และ User Configuration

เปิด gpedit.msc และตรวจสอบว่านโยบายทั้งหมดอยู่ในสถานะ Not Configured หลังจากรันคอนโซล gpedit.msc โฟลเดอร์ GroupPolicyUsers และ GroupPolicy ที่ลบแล้วจะถูกสร้างขึ้นอัตโนมัติพร้อมไฟล์ Registry.pol ว่าง

รีเซ็ตการตั้งค่า Local Group Policy ใน Windows

ครั้งต่อไปที่คุณทำการเปลี่ยนแปลง Group Policy Windows จะสร้างไฟล์ Registry.pol ใหม่พร้อมการตั้งค่าใหม่

รีเซ็ตการตั้งค่า Local Security Policy ให้เป็นค่าเริ่มต้นใน Windows

Local security policies ถูกกำหนดค่าในคอนโซล mmc แยกต่างหาก – secpol.msc หากปัญหากับคอมพิวเตอร์เกิดจาก "การขันสกรู" ใน local security settings และหากคุณยังมีการเข้าถึง Windows ในท้องถิ่นและสิทธิ์ administrator แนะนำให้รีเซ็ตการตั้งค่า security policy ให้เป็นค่าเริ่มต้น เพื่อทำเช่นนี้ ให้เปิด cmd.exe เป็น administrator และรันคำสั่งต่อไปนี้:

  • ใน Windows 10, Windows 8.1/8 และ Windows 7: secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
  • ใน Windows XP: secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose

รีเซ็ตการตั้งค่า Local Group Policy ใน Windows

รีสตาร์ทคอมพิวเตอร์

หากคุณยังมีปัญหากับ security policies ลองเปลี่ยนชื่อ checkpoint file ของ local security policy database %windir%\security\database\edb.chk ด้วยตนเอง

ren %windir%\security\database\edb.chk edb_old.chk

รีเซ็ตการตั้งค่า Local Group Policy ใน Windows

รันคำสั่ง:
gpupdate /force

รีสตาร์ท Windows โดยใช้คำสั่ง shutdown:
Shutdown –f –r –t 0

รีเซ็ต Local GPO Settings โดยไม่ต้องล็อกอิน

หากไม่สามารถบูท/ล็อกอิน Windows ได้ บริการ GPSVC ไม่ทำงาน คุณไม่มีสิทธิ์ local administrator หรือคุณไม่สามารถเปิด command prompt ได้ (ตัวอย่าง แอปถูกบล็อกโดย Applocker/SRP policy) ให้บูทคอมพิวเตอร์ของคุณจากแผ่นติดตั้ง Windows ใดๆ, USB flash drive หรือ LiveCD และรีเซ็ต local GPO ภายนอกจาก Windows image ที่ติดตั้ง

  1. บูทคอมพิวเตอร์ของคุณจากสื่อติดตั้ง Windows ใดๆ และเปิด command prompt (Shift+F10);
  2. รันคำสั่ง:
    diskpart
  3. จากนั้นแสดงรายการโวลยูมบนคอมพิวเตอร์:
    list volume
    ในกรณีนี้ ตัวอักษรไดรฟ์ที่กำหนดให้กับ system volume ตรงกับ system drive C:\ อย่างไรก็ตาม บางครั้งอาจไม่ตรงกัน ดังนั้นคำสั่งด้านล่างต้องรันในบริบทของ system drive ของคุณ (เช่น D:\ หรือ C:\);
  4. ปิด diskpart:
    exit
  5. รันคำสั่งต่อไปนี้ทีละคำสั่ง: รีเซ็ตการตั้งค่า Local Group Policy ใน Windows
    RD /S /Q C:\Windows\System32\GroupPolicy
    RD /S /Q C:\Windows\System32\GroupPolicyUsers
  6. รีสตาร์ทคอมพิวเตอร์ในโหมดปกติและตรวจสอบว่าการตั้งค่า local Group Policy ถูกรีเซ็ตเป็นสถานะเริ่มต้นแล้ว

วิธีล้างและลบ GPO settings ที่ถูกนำไปใช้โดยโดเมน

ไม่กี่คำเกี่ยวกับ domain Group Policies หากคอมพิวเตอร์ join เข้ากับ Active Directory domain บางส่วนของการตั้งค่ามันถูกตั้งค่าโดย domain-based GPOs

ไฟล์ registry.pol ของ domain Group Policies ทั้งหมดที่ถูกนำไปใช้ จัดเก็บในไดเรกทอรี %windir%\System32\GroupPolicy\DataStore\0\SysVol\contoso.com\Policies แต่ละ policy จัดเก็บในโฟลเดอร์แยกต่างหากพร้อม domain policy GUID หลังจากคอมพิวเตอร์ออกจาก AD domain ไฟล์ registry.pol ของ domain Group Policies บนคอมพิวเตอร์จะถูกลบและไม่ถูกโหลดไปยังรีจิสทรีระหว่างการเริ่มต้น อย่างไรก็ตาม บางครั้งแม้หลังจากนำคอมพิวเตอร์ออกจากโดเมนแล้ว GPO settings ยังคงถูกนำไปใช้กับคอมพิวเตอร์

รีเซ็ตการตั้งค่า Local Group Policy ใน Windows

คีย์รีจิสทรีต่อไปนี้สอดคล้องกับไฟล์ registry.pol เหล่านี้:

  • HKLM\Software\Policies\Microsoft
  • HKCU\Software\Policies\Microsoft
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Policies

ประวัติเวอร์ชันของ domain GPOs ที่ถูกนำไปใช้และใช้งานบนไคลเอนต์ ตั้งอยู่ในคีย์รีจิสทรีต่อไปนี้:

  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\History\
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy\History\

Local cache ของ domain GPOs ที่ถูกนำไปใช้ จัดเก็บใน C:\ProgramData\Microsoft\Group Policy\History ลบไฟล์ในไดเรกทอรีนี้ด้วยคำสั่ง:

DEL /S /F /Q "%PROGRAMDATA%\Microsoft\Group Policy\History\*.*"

หากคุณต้องการบังคับลบ domain GPO settings คุณต้องทำความสะอาดไดเรกทอรี %windir%\System32\GroupPolicy\DataStore\0\SysVol\contoso.com\Policies และลบคีย์รีจิสทรีที่ระบุ (ขอแนะนำให้สำรองไฟล์และรายการรีจิสทรีที่ลบ!!!) .

gpupdate /force /boot

Tip. วิธีที่อภิปรายข้างต้นช่วยให้คุณรีเซ็ตการตั้งค่า local GPO ทั้งหมดใน Windows versions ทั้งหมด การตั้งค่าทั้งหมดที่ทำด้วย Group Policy Editor จะถูกรีเซ็ต อย่างไรก็ตาม การเปลี่ยนแปลงที่ทำโดยตรงในรีจิสทรีด้วย regedit.exe, ไฟล์ REG, domain registry GPP หรือในทุกวิธีอื่น ไม่ถูกรีเซ็ต