Sample Secure Boot E2E Automation Guide
Primenjuje se na
Originalni datum objavljivanja: 16. mart 2026.
KB ID: 5084567
U ovom članku
Pregled
Ovaj vodič opisuje sistem automatizovane primene za ispravke certifikata za bezbedno pokretanje sistema Windows pomoću Smernice grupe i promenljivih talasa primene.
Automatizacija primene certifikata bezbednog pokretanja je sistem zasnovan na tehnologiji PowerShell koji primenjuje ispravke certifikata windows bezbednog pokretanja DB-a na računare pridružene domenima na kontrolisan i diplomirani način.
Ključne funkcije
|
Funkcija |
Opis |
|
Diplomirana primena |
1 > 2 > 4 > 8... uređaji po kontejnera |
|
Automatsko blokiranje |
Kontejneri sa nedostupnim uređajima su isključeni |
|
Automatizovana GPO primena |
Skripta jednog orkestratora rukuje sve |
|
Planirano izvršavanje zadatka |
Nisu neophodni interaktivni odzivi |
|
Nadgledanje u realnom vremenu |
Prikazivač statusa sa traka toka |
Referenca postavki Novosti certifikata
U ovom odeljku
AvailableUpdatesPolicy Group smernice
|
Lokacija registratora |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot |
|
Ime |
AvailableUpdatesPolicy |
|
Vrednost |
0x5944 (DWORD) |
Ovo je ključ koji kontroliše GPO/ADMX koji:
-
Traja u toku ponovnog pokretanja
-
Podešava Smernice grupe / MDM
-
Ne izaziva ponavljanje petlјi (obrisano putem ClearRolloutFlags)
-
Da li je ispravan ključ za primenu zasnovanu na smernicama
WinCSFlags - Zastavice windows sistema za konfiguraciju
Administratori domena mogu da koriste windows sistem za konfiguraciju (WinCS) objavljen uz ispravke operativnog sistema Windows da bi primenili ispravke bezbednog pokretanja na Windows klijente i servere pridružene domenu. Sastoji se od uslužnog interfejsa komandne linije (CLI) za upit i primenjuje konfiguracije bezbednog pokretanja lokalno na računar.
|
Ime funkcije |
WinCS ključ |
Opis |
|
Feature_AllKeysAndBootMgrByWinCS |
F33E0C8E002 |
Omogućavanje ovog ključa omogućava instalaciju sledećih certifikata za bezbedno pokretanje na uređaju koje je obezbedila korporacija Microsoft.
|
Referenca: Windows Configuration System (WinCS) API-ji za bezbedno pokretanje sistema
Arhitektura
1. faza: Nadgledanje otkrivanja i statusa na nivou preduzeća
U ovom odeljku
Skripte neophodne za 1. fazu
Primer skripti prikupljanja podataka o zalihama bezbednog pokretanja sistema
|
Ime uzorka skripte |
Svrhu |
Pokreće se |
|
Prikuplja podatke o statusu uređaja |
Svaka krajnja tačka (putem GPO- a) |
|
|
Generiše izveštaje i kontrolne table |
Administrator radnu svesku |
|
|
Automatizuje GPO kreiranje za prikupljanje podataka |
Kontroler domena |
nazad na "1. faza: otkrivanje i nadgledanje statusa na nivou preduzeća"
Lokalno testiranje
Pre primene putem GPO-a, testirajte skriptu kolekcije na jednom računaru da biste potvrdili funkcionalnost.
-
Pokreni skriptu kolekcije lokalno Otvorite PowerShell odziv sa punim privilegijama i izvršite:
& .\Detect-SecureBootCertUpdateStatus.ps1 -OutputPath "C:\Temp\SecureBootTest"
-
Verifikuj JSON izlaz
# View the collected data Get-Content "C:\Temp\SecureBootTest\*_latest.json" | ConvertFrom-Json | Format-List
Ključna polja za verifikaciju • SecureBootEnabled – Trebalo bi da bude True ili False • OverallStatus – Dovršeno, ReadyForUpdate, NeedsData ili Error • KontejnerHash – Kontejner uređaja za podatke pouzdanosti koji se podudaraju • SecureBootTaskEnabled - Prikazuje status zadatka "Ažuriranje bezbednog pokretanja".
-
Test skripta agregacije
# Generate reports from collected data & .\Aggregate-SecureBootCertStatus.ps1' ' -InputPath "C:\Temp\SecureBootTest" ' -OutputPath "C:\Temp\SecureBootReports" # Otvorite HTML kontrolnu tablu
Start-Process "C:\Temp\SecureBootReports\SecureBoot_Dashboard_*.html"
nazad na "1. faza: otkrivanje i nadgledanje statusa na nivou preduzeća"
GPO primena
Koristite automatizovanu skriptu koju obezbeđuje kontroler domena:
# Pokreni na kontroloru domena kao Administrator za interaktivni OU odeljak – preporučuje se # Zamenite "Contoso.com", "Contoso" imenom domena # Zamenite FILESERVER imenom servera datoteka. Skripta prikazuje listu OU-a na koju treba primeniti GPO .\Deploy-GPO-SecureBootCollection.ps1 ' -DomainName "contoso.com" ' - Automatsko otkrivanje ' -CollectionSharePath "\\FILESERVER\SecureBootLogs$" ' -ScriptSourcePath ".\Detect-SecureBootCertUpdateStatus.ps1" ' -Zakažete "Dnevno" ' -ScheduleTime "14:00" ' -RandomDelayHours 4
Ova skripta će izvršiti sledeće:
-
Kreira novi GPO sa navedenim imenom
-
Kopira skriptu kolekcije u SYSVOL radi visoke dostupnosti
-
Konfiguriše skriptu za pokretanje računara
-
Povezuje GPO sa ciljnim OU
-
Opcionalno kreira planirani zadatak za periodično prikupljanje
Sledeća tabela pruža uputstva o tome koliko dugo će odlaganje biti zasnovano na veličini vašeg flote.
|
Veličina flote |
Opseg odlaganja |
|
1-10K uređaji |
4 časa |
|
10K-50K uređaji |
8 časova |
|
50K+ uređaja |
12-24 časa |
nazad na "1. faza: otkrivanje i nadgledanje statusa na nivou preduzeća"
Rezime GPO postavki
|
Postavku |
Lokaciju |
Vrednost |
|
Skripta pri pokretanju |
Skripte konfiguracije → računara |
Detect-SecureBootCertUpdateStatus.ps1 |
|
Parametri skripte |
(isti) |
-OutputPath "\\server\share$" |
|
Smernice za izvršavanje |
Konfiguracija računara → Administrator predloške → PowerShell |
Dozvoli lokalno i daljinsko potpisano |
|
Planirani zadatak |
Konfigurisanje računara → željenim postavkama → planiranih zadataka |
Dnevno/sedmično prikupljanje |
nazad na "1. faza: otkrivanje i nadgledanje statusa na nivou preduzeća"
Provera
-
Nametni GPO ažuriranje na test Machine
## On a test workstation gpupdate /force # Ponovo pokrenite klijentske mašine da biste pokrenuli skriptu ili će se pokrenuti u sledećem rasporedu. Restart-Computer - Sila
-
Potvrda prikupljanja podataka
# Proverite da li su podaci prikupljeni (na serveru datoteka ili sa bilo kog računara) Get-ChildItem "\\fileserver\SecureBootData$" | Sort-Object vreme poslednjeg upisivanja -Opadajući | Select-Object - Prvih 10 # Verifikuj JSON sadržaj Get-Content "\\fileserver\SecureBootData$\TESTPC_latest.json" | ConvertFrom-Json
-
Provera GPO aplikacije
# Proverite da li je GPO primenjen na računar gpresult /r /scope:computer | Select-String "SecureBoot" S Skripta takođe čuva lokalnu kopiju radi redundantnosti: Get-ChildItem "C:\ProgramData\SecureBootCollection\"
nazad na "1. faza: otkrivanje i nadgledanje statusa na nivou preduzeća"
2. faza: Skripte za ažuriranje certifikata bezbednog pokretanja
Važno: Uverite se da je Faza1 dovršena, uključujući prikupljanje podataka na svakoj krajnjim tačkama za deljenje udaljenog servera.
U ovom odeljku
Skripte neophodne za 2. fazu
Primer skripti prikupljanja podataka o zalihama bezbednog pokretanja sistema
|
Ime uzorka skripte |
Svrhu |
Pokreće se |
|
Prikuplja podatke o statusu uređaja |
Svaka krajnja tačka (putem GPO- a) |
|
|
Generiše izveštaje i kontrolne table |
Administrator radnu svesku |
|
|
Automatizuje GPO kreiranje za prikupljanje podataka |
Kontroler domena |
|
|
Potpuno automatizovana, neprekidna orchestracija sa automatizovanom GPO primenom za instalaciju certifikata |
Administrator radnu svesku |
|
|
Primenjuje skriptu orchestratora kao planirani zadatak za automatizovanu primenu |
Kontroler domena |
|
|
Prikažite status "Certifikat bezbednog pokretanja" na bilo kojoj radnoj lokaciji |
Administrator workstation |
|
|
Omogućava zadatak bezbednog ažuriranja pokretanja |
Pri krajnjim tačkama gde je zadatak onemogućen (Pokreni samo jednom da biste omogućili zadatak ako je onemogućen) |
nazad na "2. faza: Skripte za ažuriranje certifikata za bezbedno pokretanje sistema"
Start-SecureBootRolloutOrchestrator.ps1
-
Svrhu: Potpuno automatizovana, neprekidna orkestracija sa automatizovanom GPO primenom.
-
Šta radi
-
Pozivi Aggregate-SecureBootData.ps1 za status uređaja
-
Generiše talase objavljivanja koristeći promenljivo udubljivanje
-
Kreira GPO za primenu certifikata pomoću jednog od sledećih metoda
-
Smernice grupe za bezbedno pokretanje AvailableUpdatesPolicy = 0x5944 (podrazumevano)
-
WinCS metod (parametar – UseWinCS)
-
-
Kreira AD bezbednosne grupe za ciljanje
-
Dodaje naloge računara u bezbednosne grupe
-
Konfiguriše GPO bezbednosno filtriranje
-
Povezuje GPO sa ciljnim OU
-
Monitori za blokirane kontejnere (uređaji koji nisu dostupni)
-
Automatsko deblokiranje se automatski deblokira kada se uređaji oslobade
-
-
Korišćenje
# 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
-
Administrator komandi
# List blocked buckets .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
# Unblock specific bucket .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockBucket "Dell|Geografska širina5520|BIOS1.2"
# Unblock all .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockAll
-
Parametre
Parametar
Podrazumevani
Opis
AgregationInputPath
Obavezno
UNC putanja do JSON datoteka krajnje tačke
ReportBasePath
Obavezno
Lokalna putanja za izveštaje i stanje
TargetOU
Osnovni direktorijum
OU za povezivanje GPO-a
WavePrefix
SecureBoot-Rollout
GPO/group naming prefiks
MaxWaitHours
72
Časovi pre provere dostupnosti uređaja
PollIntervalMinutes
1440
Minuti između provera statusa
Suva traka
Laћne
Prikaži šta će se desiti bez promena
nazad na "2. faza: Skripte za ažuriranje certifikata za bezbedno pokretanje sistema"
Deploy-OrchestratorTask.ps1
-
Svrhu: Primenjuje orkestrator kao Windows planirani zadatak.
-
Prednosti
-
Nema PowerShell bezbednosnih odziva (zaobimanje smernica izvršavanja)
-
Neprekidno se pokreće u pozadini
-
Nije potrebna korisnička interakcija
-
Preživljava ponovno pokretanje
-
-
Korišćenje
-
Primeni sa nalogom usluge domena (preporučuje se)
-
Korišćenje funkcije AvailableUpdates Smernice grupe (podrazumevani metod)
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMAIN\svc_secureboot"
-
Korišćenje WinCS metoda
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMAIN\svc_secureboot" -UseWinCS
-
-
Primena pomoću SYSTEM naloga
-
Korišćenje funkcije AvailableUpdates Smernice grupe (podrazumevani metod)
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports"
-
Korišćenje WinCS method.\Deploy-OrchestratorTask.ps1
-AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" -UseWinCS
-
Zahtevi naloga usluge
-
Domen Administrator (za New-GPO, New-ADGroup, Add-ADGroupMember)
-
Čitanje pristupa JSON resursu datoteka
-
Pristup za pisanje programu ReportBasePath
-
-
-
nazad na "2. faza: Skripte za ažuriranje certifikata za bezbedno pokretanje sistema"
Get-SecureBootRolloutStatus.ps1
-
Svrhu: Prikažite tok primene iz bilo koje radne trake.
-
Šta prikazuje
-
Stanje planiranog zadatka (pokrenuto/spremno/zaustavljeno)
-
Trenutni broj talasa
-
Ažurirani uređaji naspram ažuriranog
-
Visual progress bar
-
Rezime blokiranih kontejnera
-
Veza ka najnovijoj HTML kontrolnoj tabli
-
-
Korišćenje
# 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
-
Uzorak izlaza
============================================================== STATUS PRIMENE BEZBEDNOG POKRETANJA 2026-02-17 19:30:00 ======================================================
Scheduled Task: Running
ROLLOUT PROGRESS ---------------------------------------- Status: InProgress Trenutni talas: 5 Ukupno ciljano: 1250 Ukupno ažurirano: 847
Progress: [█████████████████████░░░░░░░░░░░░░░░░░░░] 67.8%
BLOCKED BUCKETS: 2 buckets need attention Pokreni sa -ShowBlocked za detalje
LATEST DASHBOARD C:\SecureBootReports\Aggregation_20260217_193000\SecureBoot_Dashboard.html __________________________________________________________________________________________
nazad na "2. faza: Skripte za ažuriranje certifikata za bezbedno pokretanje sistema"
Koraci za primenu programskog paketa E2E (vodič za brze reference)
U ovom odeljku
1. faza: Infrastruktura otkrivanja
-
1. korak: Kreiranje deljenja kolekcije
# On file server $sharePath = "D:\SecureBootData" New-Item -ItemType direktorijum - putanja $sharePath -force New-SmbShare -Name "SecureBootData$" -path $sharePath -FullAccess "Domain Admins" -ChangeAccess "Domain Computers"
# 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. korak: Primena GPO-a za otkrivanje
.\Deploy-GPO-SecureBootCollection.ps1 ` -DomainName "contoso.com" ' -OUPath "OU=Workstations,DC=contoso,DC=com" ' -CollectionSharePath "\\server\SecureBootData$"
-
3. korak: Čekanje krajnjih tačaka na izveštaj (24-48 časova)
# Proveri tok prikupljanja (Get-ChildItem "\\server\SecureBootData$" -Filter "*.json"). Raиuna
2. faza: Orkestrirana primena
-
4. korak: Provera preduslova
-
Primenjeni GPO za otkrivanje (2. korak)
-
Najmanje 50+ krajnjih tačaka koje izveštavaju o JSON-u
-
Nalog usluge sa pravima za Administrator domena
-
Server za upravljanje sa programom PowerShell 5.1+
-
-
5. korak: Primena orkestratora kao planiranog zadatka
.\Deploy-OrchestratorTask.ps1 ` -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMAIN\svc_secureboot"
-
6. korak: Nadgledanje toka
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports"
-
7. korak: Prikaz kontrolne table
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -OpenDashboard
-
8. korak: Upravljanje blokiranim kontejnerima
# List blocked .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
# Investigate and unblock .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -DeblokBucket "Proizvođač|Model|BIOS"
-
9. korak: Verifikacija dovršenja
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" # Status bi trebalo da prikazuje "Dovršeno"
Status Files
Orchestrator održava stanje u ReportBasePath\RolloutState\:
|
Datoteke |
Opis |
|
RolloutState.json |
Istorija talasa, ciljani uređaji, status |
|
BlockedBuckets.json |
Kontejneri trebaju istragu |
|
DeviceHistory.json |
Praćenje uređaja po imenima hosta |
|
Orchestrator_YYYYMMDD.log |
Evidencije dnevnih aktivnosti |
Rešavanje problema
U ovom odeljku
Orchestrator ne napreduje
-
Provera planiranog zadatka
Get-ScheduledTask -TaskName "SecureBoot-Rollout-Orchestrator"
-
Provera evidencija
Get-Content "C:\SecureBootReports\RolloutState\Orchestrator_*.log" -Tail 50
-
Potvrda ažuriranja JSON podataka
(Get-ChildItem "\\server\SecureBootData$" -Filter "*.json" | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }).Count
Blokirane kontejnere
-
Lista je blokirana.
.\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
-
Istražite dostupnost uređaja.
-
Proverite da li postoje problemi sa firmverom.
-
Deblokiraj nakon istrage.
GPO se ne primenjuje
-
Proverite da li GPO postoji.
Get-GPO -Name "SecureBoot-Rollout-Wave*"
-
Proverite bezbednosno filtriranje.
Get-GPPermission -Name "GPO-Name" -All
-
Proverite da li je računar u bezbednosnoj grupi.
-
Primenite GPO na cilj.
gpupdate /force