דוגמה למדריך לאוטומציה E2E של אתחול מאובטח
חל על
תאריך פרסום מקורי: (יום שלישי 16 מרץ 2026)
מזהה KB: 5084567
במאמר זה
מבט כולל
מדריך זה מתאר את מערכת הפריסה האוטומטית עבור עדכוני אישור DB של אתחול מאובטח של Windows באמצעות מדיניות קבוצתית גלי פריסה המתקדמים.
אוטומציה של פריסת אישור אתחול מאובטח היא מערכת מבוססת-PowerShell ש פורסת עדכוני אישור DB של אתחול מאובטח של Windows במחשבים המצורפים לתחום באופן מדורג ומבוקר.
תכונות עיקריות
|
תכונה |
תיאור |
|
פריסה מסויינת |
1 > 2 > 4 > 8... מכשירים לכל Bucket |
|
חסימה אוטומטית |
מיכלים עם התקנים לא ניתנים להשקה אינם נכללים |
|
פריסת GPO אוטומטית |
קובץ Script של orchestrator יחיד מטפל בכל דבר |
|
ביצוע משימה מתוזמן |
לא נדרשות בקשות אינטראקטיביות |
|
ניטור בזמן אמת |
מציג מצב עם מד התקדמות |
חומר עזר עדכונים הגדרות אישורים
במקטע זה
מדיניות קבוצתית של AvailableUpdatesPolicy
|
מיקום רישום |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot |
|
שם |
AvailableUpdatesPolicy |
|
ערך |
0x5944 (DWORD) |
זהו המפתח הנשלט על-ידי GPO/ADMX:
-
נשמר על-פני אתחולים מחדש
-
מוגדר על-ידי מדיניות קבוצתית / MDM
-
אינו גורם ל לולאות ניסיון חוזר (נוקתה באמצעות ClearRolloutFlags)
-
הוא המפתח הנכון עבור פריסה מונחית מדיניות
חומר עזר: מדיניות קבוצתית 'אובייקטים' (GPO) של אתחול מאובטח עבור מכשירי Windows עם עדכונים מנוהלי IT
WinCSFlags - דגלי מערכת התצורה של Windows
מנהלי תחומים יכולים להשתמש לחילופין במערכת התצורה של Windows (WinCS) שהופצה עם עדכוני מערכת ההפעלה Windows כדי לפרוס את עדכוני האתחול המאובטח בכל הלקוחות והשרתים המצורפים לתחום של Windows. הוא כולל כלי שירות של ממשק שורת פקודה (CLI) כדי לבצע שאילתה ולהחיל תצורות אתחול מאובטח באופן מקומי על מחשב.
|
שם תכונה |
מפתח WinCS |
תיאור |
|
Feature_AllKeysAndBootMgrByWinCS |
F33E0C8E002 |
הפיכת מפתח זה לזמינים מאפשרת התקנה של אישורי האתחול המאובטח החדש הבאים שסופקו על-ידי Microsoft במכשיר שלך.
|
חומר עזר: ממשקי API של מערכת התצורה של Windows (WinCS) לאתחול מאובטח
ארכיטקטורה
שלב 1: זיהוי וניטור מצב ברמת הארגון
במקטע זה
קבצי Script הדרושים לשלב 1
קבצי Script לדוגמה של אוסף נתוני מלאי של אתחול מאובטח
|
שם קובץ Script לדוגמה |
מטרה |
פועל ב |
|
איסוף נתוני מצב מכשיר |
כל נקודת קצה (באמצעות GPO) |
|
|
יצירת דוחות ולוחות מחוונים |
מרכז הניהול עבודה |
|
|
הפיכת יצירת GPO לאוטומטית עבור איסוף נתונים |
בקר תחום |
בדיקות מקומיות
לפני הפריסה באמצעות GPO, בדוק את קובץ ה- Script של האוסף במחשב יחיד כדי לאמת את הפונקציונליות.
-
הפעל קובץ Script של אוסף באופן מקומי פתח בקשת 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 • OverallStatus – מלא, ReadyForUpdate, NeedsData או שגיאה • BucketHash – דלי המכשיר להתאמת נתונים מהימנות • SecureBootTaskEnabled - מציג את המצב של משימת עדכון אתחול מאובטח.
-
Test Aggregation Script
# 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"
פריסת GPO
השתמש בקובץ ה- Script של האוטומציה שסופק לבקר תחום:
# הפעל בבקר תחום כתחום מרכז הניהול עבור סעיף OU אינטראקטיבי – מומלץ # החלף את "Contoso.com", "Contoso" בשם התחום # החלף את FILESERVER בשם שרת הקבצים. קובץ Script מציג רשימה של יחידות ציוד מקורי לפריסה של GPO ב- .\Deploy-GPO-SecureBootCollection.ps1 ' -DomainName "contoso.com" ' -זיהוי אוטומטי ' -CollectionSharePath "\\FILESERVER\SecureBootLogs$" ' -ScriptSourcePath ".\Detect-SecureBootCertUpdateStatus.ps1" ' -תזמן "יומי" ' -ScheduleTime "14:00" ' -RandomDelayHours 4
קובץ Script זה יבצע את הפעולות הבאות:
-
יצירת GPO חדש בשם שצוין
-
העתקת קובץ Script של אוסף ל- SYSVOL לקבלת זמינות גבוהה
-
קביעת תצורה של קובץ Script לאתחול המחשב
-
קישור GPO ל- OU של יעד
-
יצירת פעילות מתוזמנת עבור אוסף תקופתי
הטבלה הבאה מספקת הדרכה לגבי משך הזמן שבו ההשהיה תתבסס על גודל הצי שלך.
|
גודל הצי |
טווח השהיה |
|
מכשירי 1-10K |
4 שעות |
|
מכשירי 10K-50K |
8 שעות |
|
יותר מ- 50,000 מכשירים |
12 עד 24 שעות |
סיכום הגדרות GPO
|
הגדרה |
מיקום |
ערך |
|
קובץ Script של אתחול |
קבצי Script של תצורת → מחשב |
Detect-SecureBootCertUpdateStatus.ps1 |
|
פרמטרים של קובץ Script |
(זהה) |
-OutputPath "\\server\share$" |
|
מדיניות ביצוע |
תבניות תצורה → מרכז הניהול מחשב → PowerShell |
אפשר חתימה מקומית ומרוחקת |
|
פעילות מתוזמנת |
העדפות תצורת → של המחשב → מתוזמנות |
אוסף יומי/שבועי |
אימות
-
כפה עדכון GPO במבחן Machine
## On a test workstation מקשים gpupdate /force # אתחל מחדש את מחשבי הלקוח כדי להפעיל קובץ Script לאתחול או שהוא יופעל בלוח הזמנים הבא.Restart-Computer -Force
-
אמת איסוף נתונים
# בדוק אם הנתונים נאספו (בשרת הקבצים או מכל מחשב) Get-ChildItem "\\fileserver\SecureBootData$" | Sort-Object LastWriteTime -סדר יורד | Select-Object -First 10 # אמת תוכן JSON Get-Content "\\fileserver\SecureBootData$\TESTPC_latest.json" | ConvertFrom-Json
-
בדוק יישום GPO
# ודא שה- GPO מוחל על המחשב gpresult /r /scope:computer | Select-String "SecureBoot" ת. קובץ ה- Script שומר גם עותק מקומי ליתירות: Get-ChildItem "C:\ProgramData\SecureBootCollection\"
שלב 2: קבצי Script של Orchestration של עדכון אישור אתחול מאובטח
חשוב: ודא ששלב 1 הושלם, כולל איסוף נתונים בכל נקודת קצה של מיקומים משותפים של שרת מרוחק.
במקטע זה
קבצי Script הדרושים עבור שלב 2
קבצי Script לדוגמה של אוסף נתוני מלאי של אתחול מאובטח
|
שם קובץ Script לדוגמה |
מטרה |
פועל ב |
|
איסוף נתוני מצב מכשיר |
כל נקודת קצה (באמצעות GPO) |
|
|
יצירת דוחות ולוחות מחוונים |
מרכז הניהול עבודה |
|
|
הפיכת יצירת GPO לאוטומטית עבור איסוף נתונים |
בקר תחום |
|
|
תזמור רציף אוטומטי מלא עם פריסה אוטומטית של GPO עבור התקנת אישורים |
מרכז הניהול עבודה |
|
|
פריסת קובץ Script של Orchestrator כמשימה מתוזמנת לפריסה אוטומטית |
בקר תחום |
|
|
הצגת מצב פריסת אישור אתחול מאובטח מכל תחנת עבודה |
מרכז הניהול עבודה |
|
|
הופך משימה של עדכון אתחול מאובטח לזמין |
בנקודות סיום שבהן המשימה אינה זמינה (הפעל פעם אחת בלבד כדי להפוך את המשימה לזמינה אם היא אינה זמינה) |
בחזרה אל "שלב 2: קבצי Script של Orchestration Update של אישור אתחול מאובטח"
Start-SecureBootRolloutOrchestrator.ps1ברירת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
-
מרכז הניהול נוספות
# 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" -בטל חסימה שלAll
-
פרמטרים
פרמטר
ברירת מחדל
תיאור
AggregationInputPath
נדרשת
נתיב UNC לקבצי JSON של נקודת קצה
ReportBasePath
נדרשת
נתיב מקומי עבור דוחות ומדינה
TargetOU
בסיס תחום
OU לקישור אובייקטי GPO
קידומת גל
SecureBoot-Rollout
קידומת מתן שמות ל- GPO/קבוצה
MaxWaitHours
72
שעות לפני בדיקת הנגישות של המכשיר
PollIntervalMinutes
1440
דקות בין בדיקת מצב
חיתוך יבש
False
הצג מה יקרה ללא שינויים
בחזרה אל "שלב 2: קבצי Script של Orchestration Update של אישור אתחול מאובטח"
Deploy-OrchestratorTask.ps1
-
מטרה: פריסת ה- orchestrator כמשימה מתוזמנת של Windows.
-
יתרונות
-
אין בקשות אבטחה של PowerShell (עקיפת ExecutionPolicy)
-
פועל ברקע ברציפות
-
לא נדרשת אינטראקציה עם המשתמש
-
שורד אתחולים מחדש
-
-
שימוש
-
פריסה באמצעות חשבון שירות תחום (מומלץ)
-
השתמש ב- 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
-
-
פרוס באמצעות חשבון SYSTEM
-
השתמש ב- AvailableUpdates מדיניות קבוצתית (שיטת ברירת מחדל)
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports"
-
שימוש ב- WinCS method.\Deploy-OrchestratorTask.ps1
-AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" -UseWinCS
-
דרישות חשבון שירות
-
תחום מרכז הניהול (עבור GPO חדש, New-ADGroup, Add-ADGroupMember)
-
גישת קריאה לשיתוף קבצים JSON
-
גישת כתיבה ל- ReportBasePath
-
-
-
בחזרה אל "שלב 2: קבצי Script של Orchestration Update של אישור אתחול מאובטח"
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מקשים __________________________________________________________________________________________
בחזרה אל "שלב 2: קבצי Script של Orchestration Update של אישור אתחול מאובטח"
שלבי פריסה של E2E (מדריך לעיון מהיר)
במקטע זה
שלב 1: תשתית זיהוי
-
שלב 1: יצירת שיתוף אוסף
# On file serverמקשים $sharePath = "D:\SecureBootData" New-Item -ItemType Directory -path $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: פריסת 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"). לסמוך
שלב 2: פריסה תזמורתית
-
שלב 4: בדיקת דרישות מוקדמות
-
GPO לזיהוי נפרס (שלב 2)
-
לפחות 50 נקודות קצה מדווחות על JSON
-
חשבון שירות עם זכויות מרכז הניהול תחום
-
שרת ניהול עם PowerShell 5.1+
-
-
שלב 5: פריסת Orchestrator כמשימה מתוזמנת
.\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 "Manufacturer|מודל|BIOS"
-
שלב 9: אימות השלמה
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports"מקשים # המצב אמור להציג "הושלם"
מצב Files
ל- orchestrator יש מצב ב- ReportBasePath\RolloutState\:
|
קובץ |
תיאור |
|
RolloutState.json |
היסטוריית גלים, מכשירים ייעודיים, מצב |
|
BlockedBuckets.json |
Buckets needing investigation |
|
DeviceHistory.json |
מעקב אחר מכשירים לפי שם מארח |
|
Orchestrator_YYYYMMDD.log |
יומני פעילות יומית |
פתרון בעיות
במקטע זה
Orchestrator Not Progressing
-
בדוק פעילות מתוזמנת
Get-ScheduledTask -TaskName "SecureBoot-Rollout-Orchestrator"
-
בדוק יומני רישום
Get-Content "C:\SecureBootReports\RolloutState\Orchestrator_*.log" -Tail 50
-
אימות רענון נתוני JSON
(Get-ChildItem "\\server\SecureBootData$" -Filter "*.json" | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }).Count
Buckets חסומים
-
הרשימה נחסמה.
.\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
-
בדוק את מידת היכולת של המכשיר.
-
בדוק אם קיימים בעיות קושחה.
-
ביטול חסימה לאחר חקירה.
GPO Not Applying
-
ודא שה- GPO קיים.
Get-GPO -Name "SecureBoot-Rollout-Wave*"
-
בדוק את סינון האבטחה.
Get-GPPermission -Name "GPO-Name" -All
-
ודא שהמחשב נמצא בקבוצת אבטחה.
-
החל את ה- GPO על היעד.
gpupdate /force