จะระเบิด GPO ได้อย่างไร


22

ฉันทำงานหนักมากในการศึกษาระดับอุดมศึกษาซึ่งเป็นข้อกำหนดที่ค่อนข้างบ่อยในการกำหนดค่าสมาชิกโดเมน Windows จำนวนมาก (เช่นพีซีในห้องเรียน) ในช่วงระยะเวลาของหลักสูตรหรือเหตุการณ์ที่เฉพาะเจาะจงและยกเลิกการกำหนดค่านี้ในภายหลัง

เนื่องจากการเปลี่ยนแปลงการกำหนดค่าส่วนใหญ่ที่เราได้รับการร้องขอสามารถทำได้ผ่าน Group Policy Objects และการเปลี่ยนแปลงเหล่านั้นจะถูกย้อนกลับโดยอัตโนมัติเมื่อ GPO ไม่ได้เชื่อมโยงหรือปิดการใช้งานในระดับ OU นี่เป็นเส้นทางที่สะดวกสบายมาก

ข้อเสียเพียงอย่างเดียวคือการเชื่อมโยงด้วยตนเองซ้ำ ๆ และยกเลิกการเชื่อมโยง GPOs บน OUs ต้องการการเตือนและเจ้าหน้าที่ด้านไอทีจำนวนมากก่อนที่หลักสูตรจะเริ่มต้นและหลังจากจบหลักสูตร - สิ่งที่ทีมปฏิบัติการไม่สามารถรับประกันได้ตลอดเวลา

มีวิธีการระบุกรอบเวลาสำหรับความถูกต้องของ GPO ที่เฉพาะเจาะจงหรือไม่

คำตอบ:


32

ซึ่งสามารถทำได้โดยวิธีการของWMI กรอง ไคลเอนต์นโยบายกลุ่มจะดำเนินการค้นหา WQL จากตัวกรอง WMI ที่แนบมาและใช้ GPO หากแบบสอบถามจะส่งกลับจำนวนแถวที่ไม่เป็นศูนย์ ดังนั้นโดยการสร้างตัวกรอง WMI การตรวจสอบว่าเวลาของระบบปัจจุบันอยู่ในช่วงเวลาที่กำหนดและการเชื่อมโยงตัวกรอง WMI นี้กับ GPO ที่คุณต้องการ timebomb คุณได้รับสิ่งที่คุณต้องการ

Win32_OperatingSystemระดับ WMI มีlocaldatetimeแอตทริบิวต์ซึ่งสามารถนำมาเปรียบเทียบกับวันที่สตริงที่กำหนดในรูปแบบ 'HH YYYYMMDD: NN: ss' ดังนั้นการใช้สตริง WQL เช่น

select * from win32_operatingsystem where localdatetime >= '20150220 00:00:00' and localdatetime <= '20150223 15:00:00'

ในroot\CIMv2เนมสเปซจะทำให้แน่ใจว่า GPO จะถูกนำไปใช้กับระบบที่เวลาท้องถิ่นอยู่ระหว่าง 20 ก.พ. 2558 00:00:00 ถึง 23 ก.พ. 15:00:00:

กำหนดค่าตัวกรอง WMI ด้วยสตริง WQL

ตรวจสอบให้แน่ใจว่าคุณได้เชื่อมโยงตัวกรอง WMI กับ GPO ที่ต้องการ:

เชื่อมโยงตัวกรอง WMI กับ GPO

สิ่งที่ควรทราบ:

  • WQL กำลังประเมินวันที่และเวลาท้องถิ่นบนไคลเอนต์ซึ่งอาจหรือไม่ตรงกันกับแหล่งเวลาที่คุณตั้งใจจะใช้ เวลาของไคลเอ็นต์จะไม่ทำงานช้าเกินไปหรือช้ากว่าเวลาของตัวควบคุมโดเมนมิฉะนั้นการตรวจสอบสิทธิ์ของ Kerberos จะแตก แต่อาจมีการเบี่ยงเบนเล็กน้อยทำบัญชีให้พวกเขา
  • ไคลเอนต์นโยบายกลุ่มจะตรวจสอบการเปลี่ยนแปลง GPO และนำไปใช้ค่อนข้างบ่อยครั้งโดยค่าเริ่มต้น:

    ตามค่าเริ่มต้นนโยบายกลุ่มของคอมพิวเตอร์จะได้รับการอัปเดตในพื้นหลังทุก ๆ 90 นาทีโดยมีการชดเชยแบบสุ่มเป็น 0 ถึง 30 นาที

    ดังนั้นการตั้งค่าเริ่มต้นจะอนุญาตให้มีความแม่นยำเพียง +2 ชั่วโมงเท่านั้น ช่วงเวลาการอัปเดตสามารถเปลี่ยนแปลงได้โดยการตั้งค่านโยบายกลุ่ม (อื่น) หากจำเป็น

  • นโยบายของคุณต้องสามารถย้อนกลับการเปลี่ยนแปลงทั้งหมดเมื่อไม่ได้ใช้อีกต่อไป นี่เป็นกรณีเริ่มต้นสำหรับเทมเพลตการดูแลระบบที่จัดการทั้งหมด การตั้งค่านโยบายกลุ่มอาจต้องมีการตั้งค่าอย่างชัดเจนเพื่อ"ลบรายการนี้เมื่อไม่ได้ใช้" : GPP ทั่วไปแท็บ


3
คุณฉลาดมาก
Massimo

3
จากประสบการณ์ของฉันมีนโยบายบางอย่างในเทมเพลตการดูแลระบบที่ไม่คืนค่าการเปลี่ยนแปลงที่พวกเขาทำดังนั้นควรทำการทดสอบก่อนดีกว่า ... นอกจากนี้สิ่งที่ Massimo พูด ...
EliadTech

ตกลงการตั้งค่าใด ๆ ที่เหมาะสมกับรีจิสตรีไม่เพียงแค่เปลี่ยนกลับเป็นค่าเริ่มต้นเมื่อไม่ได้เชื่อมโยงหรือแม้กระทั่งตั้งเป็น "ไม่ได้กำหนดค่า"
mortenya

เพิ่มภารกิจที่กำหนดเวลาไว้เพื่อทริกเกอร์ GPupdate เมื่อถึงเวลาเริ่มต้นและสิ้นสุดและคุณอาจเป็นไปได้ (?) ได้รับความแม่นยำมากขึ้นเล็กน้อยโดยไม่ต้องปรับแต่งช่วงเวลาอัปเดต?
Get-HomeByFiveOClock

2
@mortenya "การจัดการ" เป็นส่วนหนึ่งของแม่แบบการดูแลทำให้แน่ใจว่าการตั้งค่าจะทำจริงในทรีย่อยของกลุ่มรีจิสทรีอื่น - เช่นหรือHKLM\Software\Policies HKCU\Software\Policiesตำแหน่ง"นโยบาย"เหล่านี้จะถูกล้างหากการตั้งค่าวัตถุนโยบายไม่สามารถใช้คีย์ได้อีกต่อไปหรือตั้งค่าคุณสมบัติเป็น "ไม่ได้กำหนดค่า" สำหรับเทมเพลต ADM แบบเก่าที่เขียนลงในรีจิสทรีที่คุณถูกต้องสิ่งเหล่านี้จะเป็น "รอยสัก" ในรีจิสทรีของไคลเอ็นต์และจะไม่ถูกลบออกหลังจากนั้น ที่เกี่ยวข้อง: serverfault.com/questions/566180
the-wabbit
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.