นำไปใช้กับ
Windows 10, version 1607, all editions Win 10 Ent LTSB 2016 Win 10 IoT Ent LTSB 2016 Windows 10, version 1809, all editions Win 10 Ent LTSC 2019 Win 10 IoT Ent LTSC 2019 Windows 10 ESU Windows 10 Enterprise LTSC 2021 Windows 10 IoT Enterprise LTSC 2021 Windows 11 version 23H2, all editions Windows 11 version 24H2, all editions Windows 11 version 25H2, all editions Windows 11 version 26H1, all editions Windows Server 2016 Windows Server 2019 Windows Server 2022 Windows Server, version 23H2 Windows Server 2025

วันที่เผยแพร่ต้นฉบับ: วันที่ 16 มีนาคม 2569

KB ID: 5084567

ในบทความนี้

ภาพรวม

คู่มือนี้อธิบายระบบการปรับใช้อัตโนมัติสําหรับการอัปเดตใบรับรอง Windows Secure Boot DB โดยใช้คลื่นนโยบายกลุ่มและการเปิดตัวแบบก้าวหน้า

Secure Boot Certificate Rollout Automation เป็นระบบที่ใช้ PowerShell ที่ปรับใช้การอัปเดตใบรับรอง Windows Secure Boot DB กับเครื่องที่เข้าร่วมโดเมนในลักษณะผู้สําเร็จการศึกษาที่มีการควบคุม

กลับไปด้านบน

คุณสมบัติที่สําคัญ

คุณลักษณะ

คำอธิบาย

การเปิดตัวระดับบัณฑิตศึกษา

1 > 2 > 4 > 8... อุปกรณ์ต่อบักเก็ต

การบล็อกอัตโนมัติ

บักเก็ตที่มีอุปกรณ์ที่ไม่สามารถเข้าถึงได้ไม่ได้รับการยกเว้น

การปรับใช้ GPO อัตโนมัติ

สคริปต์ผู้ประสานเดียวจัดการทุกอย่าง

การดําเนินการงานตามกําหนดการ

ไม่จําเป็นต้องมีพร้อมท์แบบโต้ตอบ

การตรวจสอบแบบเรียลไทม์

ตัวแสดงสถานะที่มีแถบความคืบหน้า

กลับไปด้านบน 

ข้อมูลอ้างอิงเกี่ยวกับการตั้งค่า Updates ใบรับรอง

ในส่วนนี้

นโยบายกลุ่ม AvailableUpdatesPolicy

ตําแหน่งที่ตั้งของรีจิสทรี

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot

ชื่อ

AvailableUpdatesPolicy

ค่า

0x5944 (DWORD)

นี่คือคีย์ที่ควบคุมโดย GPO/ADMX ที่:

  • คงอยู่ในการเริ่มต้นระบบใหม่ทั้งหมด

  • ตั้งค่าโดย นโยบายกลุ่ม / MDM

  • ไม่ทําให้เกิดลูปลองใหม่ (ล้างผ่าน ClearRolloutFlags)

  • คีย์ที่ถูกต้องสําหรับการปรับใช้ตามนโยบาย

การอ้างอิง: นโยบายกลุ่ม Objects (GPO) ของวิธีการบูตแบบปลอดภัยสําหรับอุปกรณ์ Windows ด้วยการอัปเดตที่จัดการโดย IT

กลับไป "ข้อมูลอ้างอิงการตั้งค่าใบรับรอง Updates" 

WinCSFlags - การตั้งค่าสถานะระบบการกําหนดค่า Windows

ผู้ดูแลระบบโดเมนอาจใช้ Windows Configuration System (WinCS) ที่เผยแพร่พร้อมกับการอัปเดตระบบปฏิบัติการ Windows เพื่อปรับใช้การอัปเดตการบูตแบบปลอดภัยในไคลเอ็นต์และเซิร์ฟเวอร์ของ Windows ที่เข้าร่วมโดเมน ซึ่งประกอบด้วย โปรแกรมอรรถประโยชน์ส่วนติดต่อบรรทัดคําสั่ง (CLI) เพื่อสอบถามและใช้การกําหนดค่า Secure Boot ภายในเครื่อง

ชื่อฟีเจอร์

แป้น WinCS

คำอธิบาย

Feature_AllKeysAndBootMgrByWinCS

F33E0C8E002

การเปิดใช้งานคีย์นี้จะช่วยให้การติดตั้งใบรับรองใหม่ของการบูตแบบปลอดภัยที่ Microsoft มีให้ในอุปกรณ์ของคุณได้

  • Microsoft Corporation KEK 2K CA 2023

  • Windows UEFI CA 2023

  • Microsoft UEFI CA 2023

  • Microsoft Option UEFI ROM CA 2023

การอ้างอิง: API Windows Configuration System (WinCS) สําหรับการบูตแบบปลอดภัย

กลับไป "ข้อมูลอ้างอิงการตั้งค่าใบรับรอง Updates"

กลับไปด้านบน

สถาปัตยกรรม

เวิร์กโฟลว์สถาปัตยกรรม

กลับไปด้านบน 

ขั้นที่ 1: การตรวจสอบและตรวจสอบสถานะในระดับองค์กร

ในส่วนนี้

สคริปต์ที่จําเป็นสําหรับเฟส 1

ตัวอย่างสคริปต์การเก็บรวบรวมข้อมูลสินค้าคงคลัง Secure Boot

ชื่อสคริปต์ตัวอย่าง

วัตถุ ประสงค์ 

ทํางานบน 

ตัวอย่างสคริปต์ Detect-SecureBootCertUpdateStatus.ps1 

รวบรวมข้อมูลสถานะอุปกรณ์ 

แต่ละจุดสิ้นสุด (ผ่าน GPO) 

ตัวอย่างสคริปต์ Aggregate-SecureBootData.ps1 

สร้างรายงานและแดชบอร์ด 

เวิร์กสเตชัน Admin 

ตัวอย่างสคริปต์ Deploy-GPO-SecureBootCollection.ps1

ทําให้การสร้าง GPO โดยอัตโนมัติสําหรับการรวบรวมข้อมูล 

ตัวควบคุมโดเมน 

แดชบอร์ดสถานะใบรับรองการบูตแบบปลอดภัย

กลับไปเป็น "Phase 1: Detection and Status Monitoring at Enterprise level"

การทดสอบภายในเครื่อง

ก่อนที่จะปรับใช้ผ่าน GPO ให้ทดสอบสคริปต์คอลเลกชันบนเครื่องเดียวเพื่อตรวจสอบฟังก์ชันการทํางาน 

  • เรียกใช้สคริปต์คอลเลกชันภายใน เครื่อง เปิดพร้อมท์ PowerShell ที่ยกระดับและดําเนินการ:

    & .\Detect-SecureBootCertUpdateStatus.ps1 -OutputPath "C:\Temp\SecureBootTest" 

  • ตรวจสอบผลลัพธ์ JSON

    # View the collected data  Get-Content "C:\Temp\SecureBootTest\*_latest.json" | ConvertFrom-Json | Format-List

    เขตข้อมูลหลักที่จะตรวจสอบ  SecureBootEnabled – ควรเป็น True หรือ False ภาพรวม – เสร็จสมบูรณ์, ReadyForUpdate, NeedsData หรือข้อผิดพลาดBucketHash – บักเก็ตอุปกรณ์เพื่อการจับคู่ข้อมูลอย่างมั่นใจ • SecureBootTaskEnabled - แสดงสถานะของงานการอัปเดตการบูตแบบปลอดภัย

  • สคริปต์การรวมการทดสอบ

    # Generate reports from collected data  & .\Aggregate-SecureBootCertStatus.ps1" '     -InputPath "C:\Temp\SecureBootTest" '     -OutputPath "C:\Temp\SecureBootReports" # เปิดแดชบอร์ด HTML   

    Start-Process "C:\Temp\SecureBootReports\SecureBoot_Dashboard_*.html"

กลับไปเป็น "Phase 1: Detection and Status Monitoring at Enterprise level" 

การตั้งค่าการใช้เครือข่ายร่วมกัน

  • สร้างเครือข่ายที่ใช้ร่วมกัน ในไฟล์เซิร์ฟเวอร์ของคุณ ให้สร้างการแชร์เฉพาะสําหรับข้อมูลคอลเลกชัน:

    # Run on file server as Administrator  $SharePath = "D:\SecureBootCollection" $ShareName = "SecureBootData$" # สร้างโฟลเดอร์ New-Item -ItemType Directory -Path $SharePath -Force # สร้างส่วนที่ใช้ร่วมกันที่ซ่อนไว้ (ซ่อนคําต่อท้าย$ จากรายการเรียกดู) New-SmbShare -ชื่อ $ShareName -เส้นทาง $SharePath '     -คําอธิบาย "คอลเลกชันสถานะใบรับรองการบูตแบบปลอดภัย" '     -FullAccess "ผู้ดูแลระบบโดเมน" '     -ChangeAccess "ผู้ใช้ที่ได้รับการรับรองความถูกต้อง"    

  • การกําหนดค่าสิทธิ์ NTFS

    # Get current ACL  $Acl = Get-Acl $SharePath # อนุญาตให้ผู้ใช้ที่ได้รับการรับรองความถูกต้องสามารถเขียนไฟล์ได้ $WriteRule = New-Object System.Security.AccessControl.FileSystemAccessRule(     "ผู้ใช้ที่ได้รับการรับรองความถูกต้อง"     "CreateFiles,AppendData,WriteAttributes,WriteExtendedAttributes",     "ContainerInherit,ObjectInherit",     "ไม่มี"     "อนุญาต" ) $Acl.AddAccessRule($WriteRule) # อนุญาตการควบคุมโดยสมบูรณ์ของผู้ดูแลระบบโดเมน (สําหรับการรวม) $AdminRule = New-Object System.Security.AccessControl.FileSystemAccessRule(     "ผู้ดูแลระบบโดเมน"     "FullControl",     "ContainerInherit,ObjectInherit",     "ไม่มี"     "อนุญาต" ) $Acl.AddAccessRule($AdminRule) # นําสิทธิ์ไปใช้ Set-Acl -เส้นทาง$SharePath -AclObject $Acl       

  • ตรวจสอบการเข้าถึงการแชร์

    # Test from a domain-joined workstation  Test-Path "\\fileserver\SecureBootData$" # ควรส่งกลับ: จริง

กลับไปเป็น "Phase 1: Detection and Status Monitoring at Enterprise level" 

การปรับใช้ GPO

ใช้สคริปต์การทํางานอัตโนมัติที่มาจากตัวควบคุมโดเมน:

# เรียกใช้บนตัวควบคุมโดเมนเป็น Admin โดเมนสําหรับส่วน OU แบบโต้ตอบ – แนะนํา # แทนที่ "Contoso.com", "Contoso" ด้วยชื่อโดเมน # แทนที่ FILESERVER ด้วยชื่อเซิร์ฟเวอร์ไฟล์  สคริปต์แสดงรายการของ U เพื่อปรับใช้ GPO บน .\Deploy-GPO-SecureBootCollection.ps1 '     -DomainName "contoso.com" '     -AutoDetectOU '     -CollectionSharePath "\\FILESERVER\SecureBootLogs$" '     -ScriptSourcePath ".\Detect-SecureBootCertUpdateStatus.ps1" '     -กําหนดเวลา "รายวัน" '     -ScheduleTime "14:00" '     -RandomDelayHours 4 

สคริปต์นี้จะดําเนินการดังต่อไปนี้:

  • สร้าง GPO ใหม่ที่มีชื่อที่ระบุ

  • คัดลอกสคริปต์คอลเลกชันไปยัง SYSVOL สําหรับความพร้อมใช้งานสูง

  • กําหนดค่าสคริปต์การเริ่มต้นระบบคอมพิวเตอร์

  • เชื่อมโยง GPO กับ OU เป้าหมาย

  • เลือกสร้างงานที่กําหนดเวลาไว้สําหรับการรวบรวมตามช่วงเวลา

ตารางต่อไปนี้จะให้คําแนะนําเกี่ยวกับระยะเวลาที่ความล่าช้าจะยึดตามขนาดกองเรือของคุณ

ขนาดกองเรือ 

ช่วงการหน่วงเวลา 

อุปกรณ์ 1-10K 

4 ชั่วโมง 

อุปกรณ์ 10K-50K 

8 ชั่วโมง 

อุปกรณ์ 50K+ 

12-24 ชั่วโมง

กลับไปเป็น "Phase 1: Detection and Status Monitoring at Enterprise level" 

สรุปการตั้งค่า GPO

การตั้งค่า 

ตำแหน่งที่ตั้ง 

ค่า 

สคริปต์การเริ่มต้นทํางาน 

สคริปต์→การกําหนดค่าคอมพิวเตอร์ 

Detect-SecureBootCertUpdateStatus.ps1 

พารามิเตอร์สคริปต์ 

(เหมือนกัน) 

-OutputPath "\\server\share$" 

นโยบายการดําเนินการ 

กําหนดค่าเทมเพลต→ Admin ของคอมพิวเตอร์→ PowerShell 

อนุญาตการเซ็นชื่อภายในเครื่องและระยะไกล 

งานที่จัดกําหนดการไว้ 

กําหนดค่าการกําหนดลักษณะ→คอมพิวเตอร์→งานที่กําหนดเวลาไว้ 

คอลเลกชันรายวัน/รายสัปดาห์

กลับไปเป็น "Phase 1: Detection and Status Monitoring at Enterprise level" 

การตรวจสอบ

  • บังคับปรับปรุง GPO บน Machin ทดสอบe

    ## On a test workstation  gpupdate /force # เริ่มต้นระบบเครื่องไคลเอ็นต์ใหม่เป็นสคริปต์เริ่มต้นระบบ หรือจะทริกเกอร์ในกําหนดการถัดไป  Restart-Computer -Force

  • ตรวจสอบการรวบรวมข้อมูล

    # ตรวจสอบว่ามีการรวบรวมข้อมูล (ในไฟล์เซิร์ฟเวอร์หรือจากเครื่องใดๆ) Get-ChildItem "\\fileserver\SecureBootData$" |       Sort-Object LastWriteTime -จากมากไปหาน้อย | SESS       Select-Object -First 10   # ตรวจสอบเนื้อหา JSON Get-Content "\\fileserver\SecureBootData$\TESTPC_latest.json" | ConvertFrom-Json 

  • ตรวจสอบโปรแกรมประยุกต์ GPO

    # ตรวจสอบ GPO ถูกนําไปใช้กับคอมพิวเตอร์ gpresult /r /scope:computer | Select-String "SecureBoot" S สคริปต์ยังบันทึกสําเนาภายในเครื่องเพื่อความซ้ําซ้อนด้วย: Get-ChildItem "C:\ProgramData\SecureBootCollection\" 

กลับไปเป็น "Phase 1: Detection and Status Monitoring at Enterprise level"

กลับไปด้านบน 

ขั้นที่ 2: การอัปเดตใบรับรองการบูตแบบปลอดภัยสคริปต์ Orchestration

สิ่งสำคัญ: ตรวจสอบให้แน่ใจว่า Phase1 เสร็จสมบูรณ์แล้ว รวมถึงการรวบรวมข้อมูลในแต่ละจุดสิ้นสุดไปยังการแชร์เซิร์ฟเวอร์ระยะไกล

ในส่วนนี้

สคริปต์ที่จําเป็นสําหรับเฟส 2

ตัวอย่างสคริปต์การเก็บรวบรวมข้อมูลสินค้าคงคลัง Secure Boot

ตัวอย่างชื่อสคริปต์

วัตถุ ประสงค์ 

ทำงานบน 

ตัวอย่างสคริปต์ Detect-SecureBootCertUpdateStatus.ps1  

รวบรวมข้อมูลสถานะอุปกรณ์ 

แต่ละจุดสิ้นสุด (ผ่าน GPO) 

ตัวอย่างสคริปต์ Aggregate-SecureBootData.ps1

สร้างรายงานและแดชบอร์ด 

เวิร์กสเตชัน Admin 

ตัวอย่างสคริปต์ Deploy-GPO-SecureBootCollection.ps1

ทําให้การสร้าง GPO โดยอัตโนมัติสําหรับการรวบรวมข้อมูล 

ตัวควบคุมโดเมน 

ตัวอย่างสคริปต์ Start-SecureBootRolloutOrchestrator.ps1

การประสมที่ต่อเนื่องและเป็นอัตโนมัติอย่างเต็มรูปแบบด้วยการปรับใช้ GPO อัตโนมัติสําหรับการติดตั้งใบรับรอง

เวิร์กสเตชัน Admin 

ตัวอย่างสคริปต์ Deploy-OrchestratorTask.ps1

ปรับใช้สคริปต์ Orchestrator เป็นงานที่กําหนดเวลาไว้สําหรับการเผยแพร่อัตโนมัติ

ตัวควบคุมโดเมน

ตัวอย่างสคริปต์ Get-SecureBootRolloutStatus.ps1

ดูสถานะการเผยแพร่ใบรับรองการบูตแบบปลอดภัยจากเวิร์กสเตชันใดๆ

เวิร์กสเตชัน Admin

ตัวอย่างสคริปต์ Enable-SecureBootUpdateTask.ps1

 เปิดใช้งานการอัปเดตการบูตแบบปลอดภัย

บนจุดสิ้นสุดที่งานถูกปิดใช้งาน (เรียกใช้เพียงครั้งเดียวเพื่อเปิดใช้งานถ้าปิดใช้งาน)

กลับไปยัง "Phase 2: Secure Boot Certificate Update Orchestration Scripts" 

Start-SecureBootRolloutOrchestrator.ps1

  • วัตถุ ประสงค์: การประสมที่ต่อเนื่องและเป็นอัตโนมัติอย่างเต็มรูปแบบด้วยการปรับใช้ GPO อัตโนมัติ

  • หน้าที่

    • Aggregate-SecureBootData.ps1 การโทรสําหรับสถานะอุปกรณ์

    • สร้างคลื่นการเปิดตัวโดยใช้ลูกคลื่นแบบโปรเกรสซีฟ

    • สร้าง GPO สําหรับการปรับใช้ใบรับรองโดยใช้วิธีใดวิธีหนึ่งต่อไปนี้

      • นโยบายกลุ่มการบูตแบบปลอดภัย AvailableUpdatesPolicy = 0x5944 (ค่าเริ่มต้น)

      • เมธอด WinCS (พารามิเตอร์ –UseWinCS)

    • สร้างกลุ่มความปลอดภัย AD สําหรับการกําหนดเป้าหมาย

    • เพิ่มบัญชีคอมพิวเตอร์ลงในกลุ่มความปลอดภัย

    • กําหนดค่าการกรองความปลอดภัยของ GPO

    • เชื่อมโยง GPO กับ OU เป้าหมาย

    • จอภาพสําหรับบักเก็ตที่ถูกบล็อก (อุปกรณ์ที่ไม่สามารถเข้าถึงได้)

    • ยกเลิกการบล็อกอัตโนมัติเมื่ออุปกรณ์กู้คืน

  • การใช้งาน

    # Interactive (testing) .\Start-SecureBootRolloutOrchestrator.ps1 '     -AggregationInputPath "\\fileserver\SecureBootData$" '     -ReportBasePath "C:\SecureBootReports" '     -PollIntervalMinutes 30

    # Interactive (testing), leveraging WinCS method .\Start-SecureBootRolloutOrchestrator.ps1 '     -AggregationInputPath "\\fileserver\SecureBootData$" '     -ReportBasePath "C:\SecureBootReports" '     -PollIntervalMinutes 1440 -UseWinCS

  • คําสั่ง Admin

    # List blocked buckets .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets

    # Unblock specific bucket .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockBucket "Dell|ละติจูด 5520|BIOS1.2"

    # Unblock all .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockAll

  • พารามิเตอร์

    พารามิเตอร์

    ค่าเริ่มต้น

    คำอธิบาย

    AggregationInputPath

    จำเป็น

    เส้นทาง UNC ไปยังไฟล์ JSON จุดสิ้นสุด

    ReportBasePath

    จำเป็น

    พาธเฉพาะที่สําหรับรายงานและรัฐ

    TargetOU

    รากโดเมน

    OU เพื่อเชื่อมโยง GPO

    WavePrefix

    SecureBoot-Rollout

    คํานําหน้าการตั้งชื่อ GPO/กลุ่ม

    MaxWaitHours

    72

    ชั่วโมงก่อนการตรวจสอบความสามารถในการเข้าถึงอุปกรณ์

    PollIntervalMinutes

    1440

    นาทีระหว่างการตรวจสอบสถานะ

    DryRun

    False

    แสดงสิ่งที่จะเกิดขึ้นโดยไม่มีการเปลี่ยนแปลง

กลับไปยัง "Phase 2: Secure Boot Certificate Update Orchestration Scripts"  

Deploy-OrchestratorTask.ps1

  • วัตถุ ประสงค์: ปรับใช้ผู้ประสานเป็นงานที่จัดกําหนดการของ Windows

  • สิทธิประโยชน์

    • ไม่มีพร้อมท์ความปลอดภัย PowerShell (ExecutionPolicy Bypass)

    • ทํางานอยู่เบื้องหลังอย่างต่อเนื่อง

    • ไม่จําเป็นต้องมีการโต้ตอบของผู้ใช้

    • เอาตัวรอดในการเริ่มต้นระบบใหม่

  • การใช้งาน

    • ปรับใช้กับบัญชีบริการโดเมน (แนะนํา)

      • ใช้นโยบายกลุ่ม AvailableUpdates (วิธีเริ่มต้น)

        .\Deploy-OrchestratorTask.ps1 '     -AggregationInputPath "\\server\SecureBootData$" '     -ReportBasePath "C:\SecureBootReports" '     -ServiceAccount "DOMAIN\svc_secureboot"

      • ใช้วิธีการ WinCS

        .\Deploy-OrchestratorTask.ps1 '     -AggregationInputPath "\\server\SecureBootData$" '     -ReportBasePath "C:\SecureBootReports" '     -ServiceAccount "DOMAIN\svc_secureboot" -UseWinCS

    • ปรับใช้ด้วยบัญชีระบบ

      • ใช้นโยบายกลุ่ม AvailableUpdates (วิธีเริ่มต้น)

        .\Deploy-OrchestratorTask.ps1 '     -AggregationInputPath "\\server\SecureBootData$" '     -ReportBasePath "C:\SecureBootReports"

      • ใช้ method.\Deploy-OrchestratorTask.ps1 WinCS

            -AggregationInputPath "\\server\SecureBootData$" '     -ReportBasePath "C:\SecureBootReports" -UseWinCS

      • ข้อกําหนดของบัญชีบริการ

        • Admin โดเมน (สําหรับ New-GPO, New-ADGroup, Add-ADGroupMember)

        • อ่านการเข้าถึงการแชร์ไฟล์ JSON

        • เขียนการเข้าถึง ReportBasePath

กลับไปยัง "Phase 2: Secure Boot Certificate Update Orchestration Scripts"  

Get-SecureBootRolloutStatus.ps1

  • วัตถุ ประสงค์: ดูความคืบหน้าในการเผยแพร่จากเวิร์กสเตชันใดๆ

  • สิ่งที่แสดง

    • สถานะงานที่จัดกําหนดการไว้ (กําลังเรียกใช้/พร้อม/หยุด)

    • หมายเลขคลื่นปัจจุบัน

    • อุปกรณ์ที่กําหนดเป้าหมายเปรียบเทียบกับการอัปเดต

    • แถบความคืบหน้าแบบเป็นภาพ

    • สรุปกลุ่มที่ถูกบล็อก

    • ลิงก์ไปยังแดชบอร์ด HTML ล่าสุด

  • การใช้งาน

    # Quick status check .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports"

    # Continuous monitoring (refreshes every 30 seconds) .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -Watch 30

    # View blocked buckets .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -ShowBlocked

    # View wave history .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -ShowWaves

    # View recent log .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -ShowLog

    # Open dashboard in browser .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -OpenDashboard

  • ผลลัพธ์ตัวอย่าง

    ==============================================================    สถานะการเริ่มระบบแบบปลอดภัย    2026-02-17 19:30:00 ======================================================

    Scheduled Task: Running

    ROLLOUT PROGRESS ---------------------------------------- สถานะ: InProgress คลื่นปัจจุบัน: 5 เป้าหมายทั้งหมด: 1250 อัปเดตทั้งหมด: 847

    Progress: [█████████████████████░░░░░░░░░░░░░░░░░░░] 67.8%

    BLOCKED BUCKETS: 2 buckets need attention   เรียกใช้ด้วย -ShowBlocked สําหรับรายละเอียด

    LATEST DASHBOARD C:\SecureBootReports\Aggregation_20260217_193000\SecureBoot_Dashboard.html __________________________________________________________________________________________

กลับไปยัง "Phase 2: Secure Boot Certificate Update Orchestration Scripts"

กลับไปด้านบน 

ขั้นตอนการปรับใช้ E2E (คู่มืออ้างอิงโดยสรุป)

ในส่วนนี้

ขั้นที่ 1: โครงสร้างพื้นฐานการตรวจจับ

  • ขั้นตอนที่ 1: สร้างคอลเลกชันที่แชร์

    # On file server $sharePath = "D:\SecureBootData" New-Item -ItemType Directory -Path $sharePath -Force New-SmbShare -Name "SecureBootData$" -Path $sharePath -FullAccess "ผู้ดูแลโดเมน" -ChangeAccess "คอมพิวเตอร์โดเมน"

    # Set NTFS permissions $acl = Get-Acl $sharePath $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Domain Computers","Modify","Allow") $acl AddAccessRule($rule) Set-Acl $sharePath $acl

  • ขั้นตอนที่ 2: ปรับใช้ GPO ตรวจหา

    .\Deploy-GPO-SecureBootCollection.ps1 `     -DomainName "contoso.com" '     -OUPath "OU=Workstations,DC=contoso,DC=com" '     -CollectionSharePath "\\server\SecureBootData$"

  • ขั้นตอนที่ 3: รอให้จุดสิ้นสุดรายงาน (24-48 ชั่วโมง)

    # ตรวจสอบความคืบหน้าของคอลเลกชัน (Get-ChildItem "\\server\SecureBootData$" -Filter "*.json") จำนวน

กลับไปเป็น "ขั้นตอนการปรับใช้ E2E (คู่มืออ้างอิงโดยสรุป)" 

ขั้นที่ 2: การเปิดตัวแบบออร์เชสเทรต

  • ขั้นตอนที่ 4: ตรวจสอบข้อกําหนดเบื้องต้น

    • GPO การตรวจหาที่ปรับใช้ (ขั้นตอนที่ 2)

    • การรายงานจุดสิ้นสุดอย่างน้อย 50 จุดสิ้นสุด JSON

    • บัญชีบริการที่มีสิทธิ์ Admin โดเมน

    • เซิร์ฟเวอร์การจัดการด้วย PowerShell 5.1+

  • ขั้นตอนที่ 5: ปรับใช้ผู้ประสานเป็นงานที่จัดกําหนดการไว้

    .\Deploy-OrchestratorTask.ps1 `     -AggregationInputPath "\\server\SecureBootData$" '     -ReportBasePath "C:\SecureBootReports" '     -ServiceAccount "DOMAIN\svc_secureboot"

  • ขั้นตอนที่ 6: ตรวจสอบความคืบหน้า

    .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports"

  • ขั้นตอนที่ 7: ดูแดชบอร์ด

    .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -OpenDashboard

  • ขั้นตอนที่ 8: จัดการบักเก็ตที่ถูกบล็อก

    # List blocked .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets

    # Investigate and unblock .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockBucket "ผู้ผลิต|รุ่น|BIOS"

  • ขั้นตอนที่ 9: ตรวจสอบว่าเสร็จสมบูรณ์

    .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" # สถานะควรแสดงเป็น "เสร็จสมบูรณ์"

กลับไปเป็น "ขั้นตอนการปรับใช้ E2E (คู่มืออ้างอิงโดยสรุป)"  

Files ของรัฐ

ผู้ประสานรักษาสถานะใน ReportBasePath\RolloutState\:

แฟ้ม

คำอธิบาย

RolloutState.json

ประวัติคลื่น อุปกรณ์ที่กําหนดเป้าหมาย สถานะ

BlockedBuckets.json

บักเก็ตที่ต้องการการตรวจสอบ

DeviceHistory.json

การติดตามอุปกรณ์ตามชื่อโฮสต์

Orchestrator_YYYYMMDD.log

บันทึกกิจกรรมประจําวัน

กลับไปเป็น "ขั้นตอนการปรับใช้ E2E (คู่มืออ้างอิงโดยสรุป)" 

กลับไปด้านบน 

การแก้ไขปัญหา

ในส่วนนี้

ผู้ประสานไม่คืบหน้า

  1. ตรวจสอบงานที่กําหนดเวลาไว้

    Get-ScheduledTask -TaskName "SecureBoot-Rollout-Orchestrator"

  2. ตรวจสอบบันทึก

    Get-Content "C:\SecureBootReports\RolloutState\Orchestrator_*.log" -Tail 50

  3. ตรวจสอบความสดใหม่ของข้อมูล JSON

    (Get-ChildItem "\\server\SecureBootData$" -Filter "*.json" | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }).Count

กลับไปที่ "การแก้ไขปัญหา" 

กลุ่มที่ถูกบล็อก

  1. รายการถูกบล็อก

    .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets

  2. ตรวจสอบความสามารถในการเข้าถึงอุปกรณ์

  3. ตรวจหาปัญหาเฟิร์มแวร์

  4. ปลดบล็อกหลังจากการตรวจสอบ

กลับไปที่ "การแก้ไขปัญหา"  

GPO ไม่ใช้

  1. ตรวจสอบ GPO ที่มีอยู่

    Get-GPO -Name "SecureBoot-Rollout-Wave*"

  2. ตรวจสอบการกรองความปลอดภัย

    Get-GPPermission -Name "GPO-Name" -All

  3. ตรวจสอบว่าคอมพิวเตอร์อยู่ในกลุ่มความปลอดภัย

  4. นํา GPO บนเป้าหมายไปใช้

    gpupdate /force

กลับไปที่ "การแก้ไขปัญหา"

กลับไปด้านบน 

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ