בדוק את מוכנות החומרה של Windows 11 באמצעות PowerShell Script


במאמר זה, נבחן כיצד להשתמש בקובץ ה-script הרשמי של Microsoft HardwareReadiness.ps1 PowerShell כדי לבצע בדיקת תאימות חומרה בצובר של Windows 11 במחשבי תחום.

קובץ script זה בודק שהמחשב עומד בדרישות המינימום הבאות להפעלת Windows 11:

  • מעבד x64 תואם (רשימה מלאה של מעבדים נתמכים)

  • זיכרון RAM של 4+ GB

  • גודל כונן קשיח מינימלי של 64 GB

  • מכשיר עם UEFI ואתחול מאובטח מופעלים

  • כרטיס מסך תואם למנהלי התקנים של DirectX 12 ו- WDDM 2.0

  • מודול TPM 2.0

כדי לבדוק ידנית שהחומרה של מחשב מסוים תואמת לדרישות של Windows 11:

  1. הורד את קובץ ה-script HardwareReadiness.ps1 (https://aka.ms/HWReadinessScript).

  2. פתח מסוף Windows PowerShell עם הרשאות מלאות (קובץ ה- Script משתמש בלחצן

    Get-WMIObject

    cmdlet, שאינו נתמך בגירסאות האחרונות של PowerShell Core)

  3. הפעל ביצוע script של PowerShell בהפעלה הנוכחית:

    Set-ExecutionPolicy -Scope Process RemoteSigned
  4. הפעל את קובץ ה-script:

    .\HardwareReadiness.ps1

קובץ ה- Script החזיר את הקוד 0. משמעות הדבר היא שהמחשב שלך עומד בדרישות החומרה עבור Windows 11 (

returncode:0 , resurnresult=CAPABLE

).

{"returnCode":0,"returnReason":"","logging":"Storage: OSDiskSize=427GB. PASS; Memory: System_Memory=32GB. PASS; TPM: TPMVersion=2.0, 0, 1.38. PASS; Processor: {AddressWidth=64; MaxClockSpeed=3901; NumberOfLogicalCores=12; Manufacturer=AuthenticAMD; Caption=AMD64 Family 25 Model 80 Stepping 0; }. PASS; SecureBoot: Capable. PASS; ","returnResult":"CAPABLE"}

נניח שעליך לבצע בדיקת תאימות המונית של Windows 11 במחשבים ארגוניים. במקרה זה, באפשרותך להפעיל קובץ script זה של PowerShell ולאסוף מידע באמצעות כלים כגון SCCM, Intune או אפילו WSUS (שיכול גם לפרוס תוכנות וסקריפטים של ספקים חיצוניים). עבור מקרים פשוטים, באפשרותך להפעיל קובץ script זה של PowerShell באמצעות מדיניות קבוצתית ולשמור את התוצאות במאפייני אובייקט המחשב ב- Active Directory.

יש לשנות מעט את קוד הסקריפט המקורי.

שים לב שהקוד של קובץ script זה של PowerShell חתום דיגיטלית על-ידי Microsoft. עם זאת, תוקף תעודת החתימה פג בשנת 2022.

ערוך את הקובץ HardwareReadiness.ps1 והוסף את הקוד הבא בסוף, לפני #SIG # התחל בלוק חתימה:

$outObject = $outObject | ConvertTo-Json -Compress
$computer = $env:COMPUTERNAME
$ComputerSearcher = New-Object DirectoryServices.DirectorySearcher
# Specify your domain name
$ComputerSearcher.SearchRoot = "LDAP://DC=WOSHUB,DC=LOC"
$ComputerSearcher.Filter = "(&(objectCategory=Computer)(CN=$Computer))"
$computerObj = [ADSI]$ComputerSearcher.FindOne().Path
$computerObj.Put( "Info", $outObject )
$computerObj.SetInfo()

קוד PowerShell זה כותב מידע תאימות של Windows 11 לתכונת מחשב המידע ב- Active Directory.

העתיקו את קובץ הסקריפט של PS1 אל

\\a-d.loc\Netlogon

בבקר התחום.

פתח את מסוף ניהול המדיניות הקבוצתית של תחום (

gpmc.msc

), ליצור GPO חדש, ולקשר אותו ל-OU של המחשב.

נווט אל תצורת מחשב -> Policies -> הגדרות Windows -> Scripts (אתחול/כיבוי) -> אתחול -הכרטיסיה > קבצי Script של PowerShell וציין את נתיב UNC לקובץ ה-script HardwareReadiness.ps1

עבור אל תצורת מחשב -> תבניות מנהליות -> מערכת -> מדיניות קבוצתית. הפעל את המדיניות קביעת תצורה של עיכוב קובץ Script לכניסה והגדר עיכוב בביצוע script של דקה אחת.

כמו כן, הפעל את האפשרות המתן תמיד לרשת בעת ההפעלה והכניסה למחשב תחת תצורת מחשב -> תבניות ניהול -> מערכת -> כניסה.

קרא עוד אודות אופן ההפעלה של קבצי script של PowerShell באמצעות GPO.

אתחל מחדש את מחשב הלקוח. הפעל את מסוף ADUC (

dsa.msc

) ופתח את מאפייני המחשב. עבור אל הכרטיסייה עורך תכונות ובדוק שהפרמטר Info מכיל כעת את התוצאות של בדיקת תאימות המחשב שלך ל- Windows 11. בכרטיסייה עורך תכונות, ודא שהפרמטר Info מכיל כעת את התוצאות של בדיקת התאימות של Windows 11 במחשב שלך.

לאחר הפעלת קובץ ה- Script לכניסה בכל המחשבים, באפשרותך להציג במהירות מידע אודות מחשבים תואמים ומחשבים שאינם תואמים מ- Active Directory באמצעות ה- cmdlet Get-ADComputer:

Get-ADComputer -Filter {enabled -eq "true"} -properties *| Where-Object {$_.info -ne $null}

לקבלת מידע מפורט יותר אודות מחשבים שאינם תואמים וחומרת מחשב ספציפית שאינה עומדת בדרישות המינימום של Win 11, הפעל את קובץ ה-script הבא של PowerShell:

$Report = @()
$computers = Get-ADComputer -Filter {enabled -eq "true"} -properties *| Where-Object { $_.Info -match '"returnCode":1'}
foreach ($computer in $computers){
    $jsonString =$computer.info
    $object = $jsonString | ConvertFrom-Json
    $returnReasonValues = $object.returnReason -split ', '
    $CompInfo = [PSCustomObject]@{
          "Computer" = $computer.name
          "NonCompatibleItems" = $returnReasonValues
        }
    $Report += $CompInfo
}
$Report|fl

ה- cmdlet ConvertFrom-Json משמש להמרת נתונים מתבנית JSON.

בשלב זה, באפשרותך להתעלם מבדיקת TPM, אתחול מאובטח ודרישות חומרה אחרות במהלך התקנה נקייה של Windows 11 באמצעות מספר אפשרויות רישום במפתח LabConfig. ועם המפתח AllowUpgradesWithUnsupportedTPMorCPU, תוכל לשדרג ל-Windows 11 גם במחשבים עם חומרה שאינה נתמכת.