ในบทความนี้ เราจะแสดงวิธีอัปเดตการตั้งค่า Group Policy (GPO) บนคอมพิวเตอร์ Windows ในโดเมน Active Directory:วิธีอัปเดต (รีเฟรช) Group Policies โดยอัตโนมัติ วิธีใช้ GPUpdate
คำสั่ง วิธีอัปเดตจากระยะไกลโดยใช้คอนโซลการจัดการนโยบายกลุ่ม (GPMC.msc
) หรือ Invoke-GPUpdate
cmdlet ของ PowerShell
จะเปลี่ยนช่วงเวลาการรีเฟรชนโยบายกลุ่มได้อย่างไร
ก่อนที่การตั้งค่าใหม่ที่คุณได้ตั้งค่าไว้ใน Group Policy (GPO) ในพื้นที่หรือโดเมนจะมีผลกับไคลเอ็นต์ Windows บริการไคลเอ็นต์ของ Group Policy จะต้องอ่านนโยบายและทำการเปลี่ยนแปลงการตั้งค่า Windows กระบวนการนี้เรียกว่า การอัปเดตนโยบายกลุ่ม . การตั้งค่า GPO จะอัปเดตเมื่อคอมพิวเตอร์บูท ผู้ใช้ล็อกออน และรีเฟรชโดยอัตโนมัติในพื้นหลังทุกๆ 90 นาที + เวลาชดเชยแบบสุ่ม 0-30 นาที (หมายความว่าการตั้งค่านโยบายจะมีผลกับไคลเอ็นต์ใน 90– 120 นาทีหลังจากที่คุณอัปเดตไฟล์ GPO บนตัวควบคุมโดเมน)
ตามค่าเริ่มต้น Domain Controller จะอัปเดตการตั้งค่า GPO บ่อยขึ้น:ทุกๆ 5 นาทีคุณสามารถเปลี่ยนช่วงเวลาการอัปเดต GPO ได้โดยใช้ตั้งค่าช่วงเวลาการรีเฟรชนโยบายกลุ่มสำหรับคอมพิวเตอร์ ตัวเลือกที่อยู่ในการกำหนดค่าคอมพิวเตอร์ -> เทมเพลตการดูแล -> ระบบ -> ส่วนนโยบายกลุ่มของ GPO
เปิดใช้งานนโยบายและตั้งเวลา (เป็นนาที) สำหรับตัวเลือกต่อไปนี้:
- การตั้งค่านี้ช่วยให้คุณกำหนดความถี่ในการใช้ Group Policy กับคอมพิวเตอร์ได้ (0 ถึง 44640 นาที) ความถี่ที่ไคลเอ็นต์ควรรีเฟรชการตั้งค่า GPO ในพื้นหลัง หากคุณตั้งค่า 0 ที่นี่ นโยบายจะได้รับการอัปเดตทุกๆ 7 วินาที (ไม่คุ้มที่จะทำ)
- นี่เป็นการเพิ่มเวลาแบบสุ่มในช่วงเวลาการรีเฟรชเพื่อป้องกันไม่ให้ไคลเอ็นต์ทั้งหมดร้องขอนโยบายกลุ่มพร้อมกัน (0 ถึง 1440 นาที) คือค่าสูงสุดของช่วงเวลาสุ่มที่เพิ่มเป็นการชดเชยกับพารามิเตอร์ก่อนหน้า (ใช้เพื่อลดจำนวนการเรียกไคลเอ็นต์พร้อมกันไปยัง DC เพื่อดาวน์โหลดไฟล์ GPO)
โปรดทราบว่าการอัปเดต GPO บ่อยครั้งส่งผลให้การรับส่งข้อมูลไปยังตัวควบคุมโดเมนเพิ่มขึ้น และทำให้โหลดเครือข่ายสูงขึ้น
การใช้คำสั่ง GPUpdate.exe เพื่อบังคับให้รีเฟรชการตั้งค่า GPO
ผู้ดูแลระบบทุกคนรู้จัก gpupdate.exe คำสั่งที่อนุญาตให้อัปเดตการตั้งค่า Group Policy บนคอมพิวเตอร์ โดยส่วนใหญ่ใช้ gpupdate /force
สั่งโดยไม่ลังเล คำสั่งบังคับให้คอมพิวเตอร์ของคุณอ่าน GPO ทั้งหมดจากตัวควบคุมโดเมนและสมัคร ทั้งหมด . อีกครั้ง การตั้งค่า. ซึ่งหมายความว่าเมื่อ กำลัง ใช้คีย์ไคลเอ็นต์เชื่อมต่อกับตัวควบคุมโดเมนเพื่อดึงไฟล์สำหรับนโยบายทั้งหมดที่กำหนดเป้าหมาย อาจส่งผลให้มีภาระงานเพิ่มขึ้นในเครือข่ายและตัวควบคุมโดเมนของคุณ
gpudate
. อย่างง่าย คำสั่งที่ไม่มีพารามิเตอร์จะใช้การตั้งค่า GPO ใหม่และที่เปลี่ยนแปลงเท่านั้น
หากสำเร็จ ข้อความต่อไปนี้จะปรากฏขึ้น:
Updating policy... Computer Policy update has completed successfully. User Policy update has completed successfully.
หากไม่ได้ใช้นโยบายหรือการตั้งค่าบางอย่าง ให้ใช้คำสั่ง gpresult เพื่อวินิจฉัยปัญหาและทำตามคำแนะนำในบทความ ปัญหาทั่วไปที่ทำให้นโยบายกลุ่มไม่ใช้
คุณอัปเดตได้เฉพาะการตั้งค่า GPO ของผู้ใช้:
gpupdate /target:user
หรือเฉพาะการตั้งค่านโยบายของคอมพิวเตอร์:
gpupdate /target:computer /force
หากนโยบายบางอย่างไม่สามารถอัปเดตในเบื้องหลังได้ gpupdate สามารถออกจากระบบผู้ใช้ปัจจุบันได้:
gpupdate /target:user /logoff
หรือรีสตาร์ทคอมพิวเตอร์ (หากการเปลี่ยนแปลง GPO ใช้ได้เฉพาะเมื่อบูต Windows):
gpupdate /Boot
จะบังคับการอัปเดต GPO ระยะไกลจากคอนโซลการจัดการนโยบายกลุ่ม (GPMC) ได้อย่างไร
ใน Windows Server 2012 และใหม่กว่า คุณสามารถอัปเดตการตั้งค่า Group Policy บนคอมพิวเตอร์โดเมนจากระยะไกลได้โดยใช้ GPMC.msc
(คอนโซลการจัดการนโยบายกลุ่ม)
Add-WindowsCapability -Online -Name Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0
จากนั้นหลังจากเปลี่ยนการตั้งค่าใดๆ หรือสร้างและเชื่อมโยง GPO ใหม่ ก็เพียงพอที่จะคลิกขวาที่หน่วยองค์กร (OU) ที่คุณต้องการใน GPMC และเลือก การอัปเดตนโยบายกลุ่ม ในเมนูบริบท ในหน้าต่างใหม่ คุณจะเห็นจำนวนคอมพิวเตอร์ GPO ที่จะได้รับการอัปเดต ยืนยันการบังคับอัปเดตนโยบายโดยคลิกใช่ .
จากนั้น GPO จะได้รับการอัปเดตจากระยะไกลบนคอมพิวเตอร์แต่ละเครื่องใน OU ทีละเครื่อง และคุณจะได้ผลลัพธ์พร้อมสถานะการอัปเดตนโยบายกลุ่มบนคอมพิวเตอร์ (สำเร็จ/ล้มเหลว)
คุณลักษณะนี้สร้างงานใน Task Scheduler ด้วย GPUpdate.exe /force
คำสั่งสำหรับผู้ใช้แต่ละรายที่เข้าสู่ระบบบนคอมพิวเตอร์ระยะไกล งานจะทำงานในช่วงเวลาสุ่ม (สูงสุด 10 นาที) เพื่อลดภาระของเครือข่าย
- ต้องเปิดพอร์ต TCP 135 ในกฎไฟร์วอลล์ Windows Defender
- ต้องเปิดใช้งานบริการ Windows Management Instrumentation และ Task Scheduler
หากคอมพิวเตอร์ปิดอยู่หรือไฟร์วอลล์ปิดกั้นการเข้าถึง 'The remote procedure call was canceled. Error Code 8007071a
' ข้อความปรากฏขึ้นข้างชื่อคอมพิวเตอร์
อันที่จริง คุณลักษณะนี้ทำงานเหมือนกับว่าคุณได้อัปเดตการตั้งค่า GPO ด้วยตนเองโดยใช้ GPUpdate /force
คำสั่งบนคอมพิวเตอร์แต่ละเครื่อง
Invoke-GPUpdate:บังคับให้อัปเดตนโยบายกลุ่มจากระยะไกลผ่าน PowerShell
คุณยังสามารถเรียกการอัปเดต GPO ระยะไกลบนคอมพิวเตอร์โดยใช้ Invoke-GPUpdate PowerShell cmdlet (เป็นส่วนหนึ่งของ RSAT) ตัวอย่างเช่น หากต้องการอัปเดตการตั้งค่านโยบายผู้ใช้จากระยะไกลบนคอมพิวเตอร์เครื่องใดเครื่องหนึ่ง คุณสามารถใช้คำสั่งต่อไปนี้:
Invoke-GPUpdate -Computer "frparsrv12" -Target "User"
หากคุณเรียกใช้ Invoke-GPUpdate cmdlet โดยไม่มีพารามิเตอร์ใด ๆ มันจะอัปเดตการตั้งค่า GPO บนคอมพิวเตอร์ปัจจุบัน (เช่น gpudate.exe)
เมื่อใช้ร่วมกับ Get-ADComputer cmdlet คุณจะอัปเดต GPO บนคอมพิวเตอร์ทุกเครื่องใน OU เฉพาะได้:
Get-ADComputer –filter * -Searchbase "OU=Computes,OU=Mun,OU=DE,dc=woshub,dc=com" | foreach{ Invoke-GPUpdate –computer $_.name -force}
หรือในคอมพิวเตอร์ทุกเครื่องที่ตรงตามข้อกำหนดเฉพาะ (เช่น บนโฮสต์ Windows Server ทั้งหมดในโดเมน):
Get-ADComputer -Filter {enabled -eq "true" -and OperatingSystem -Like '*Windows Server*' }| foreach{ Invoke-GPUpdate –computer $_.name –RandomDelayInMinutes 10 -force}
RandomDelayInMinutes 0
ใช้พารามิเตอร์ คำสั่ง Invoke-GPUpdate จะส่งคืนข้อผิดพลาดต่อไปนี้สำหรับคอมพิวเตอร์ที่ไม่พร้อมใช้งาน: Invoke-GPUpdate: Computer "frparsrv12" is not responding. The target computer is either turned off or Remote Scheduled Tasks Management Firewall rules are disabled.
หากคุณเรียกใช้ Invoke-GPUpdate
cmdlet จากระยะไกลหรืออัปเดต GPO จาก GPMC ซึ่งเป็นหน้าต่างคอนโซลที่มี gpupdate
ทำงานอยู่ คำสั่งอาจปรากฏขึ้นบนเดสก์ท็อปของผู้ใช้ในช่วงเวลาสั้นๆ