From 066ee51dca26a9c2bc4663c948232d8a32621883 Mon Sep 17 00:00:00 2001 From: Bryan Cerrati Date: Thu, 26 Jun 2025 13:44:04 -0400 Subject: [PATCH] upgrade --- upgradechecker_remote2.ps1 | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/upgradechecker_remote2.ps1 b/upgradechecker_remote2.ps1 index 0edbeb6..053d29e 100644 --- a/upgradechecker_remote2.ps1 +++ b/upgradechecker_remote2.ps1 @@ -1,17 +1,19 @@ $remoteComputer = "REMOTE-PC-NAME" Invoke-Command -ComputerName $remoteComputer -ScriptBlock { - $results = @{} + $results = [ordered]@{} # CPU Check $cpu = Get-WmiObject Win32_Processor - $results["CPU"] = $cpu.Name + $cpuName = $cpu | Select-Object -ExpandProperty Name + $results["CPU"] = $cpuName $results["CPU Present"] = $true # RAM Check - $ram = [math]::Round((Get-WmiObject Win32_ComputerSystem).TotalPhysicalMemory / 1GB, 2) - $results["RAM (GB)"] = $ram - $results["RAM >= 4GB"] = $ram -ge 4 + $ramBytes = (Get-WmiObject Win32_ComputerSystem).TotalPhysicalMemory + $ramGB = [math]::Round($ramBytes / 1GB, 2) + $results["RAM (GB)"] = $ramGB + $results["RAM >= 4GB"] = $ramGB -ge 4 # TPM Check try { @@ -25,10 +27,11 @@ Invoke-Command -ComputerName $remoteComputer -ScriptBlock { # Partition Style try { - $disk = Get-Disk | Where-Object { $_.IsSystem -eq $true } + $disk = Get-Disk | Where-Object { $_.IsSystem -eq $true } | Select-Object -First 1 $results["Partition Style"] = $disk.PartitionStyle $results["Disk is GPT"] = $disk.PartitionStyle -eq 'GPT' } catch { + $results["Partition Style"] = "Unknown" $results["Disk is GPT"] = $false } @@ -51,24 +54,24 @@ Invoke-Command -ComputerName $remoteComputer -ScriptBlock { } # Final Verdict + $eligibilityChecks = @("CPU Present", "RAM >= 4GB", "TPM Present", "TPM Ready (2.0)", "Disk is GPT", "UEFI Boot") $eligible = $true - foreach ($check in @("CPU Present", "RAM >= 4GB", "TPM Present", "TPM Ready (2.0)", "Disk is GPT", "UEFI Boot")) { - if ($results[$check] -ne $true) { + foreach ($key in $eligibilityChecks) { + if (-not $results[$key]) { $eligible = $false } } - # Display Results - Write-Host "Windows 11 Readiness Check for: $env:COMPUTERNAME" -ForegroundColor Cyan - $results.GetEnumerator() | Sort-Object Name | ForEach-Object { - $label = "{0,-25}:" -f $_.Key - Write-Host "$label $_.Value" + # Output results cleanly + Write-Host "`nWindows 11 Readiness Check for: $env:COMPUTERNAME" -ForegroundColor Cyan + foreach ($key in $results.Keys) { + Write-Host ("{0,-25}: {1}" -f $key, $results[$key]) } Write-Host "`nFinal Result: " -NoNewline if ($eligible) { - Write-Host "YES – This machine is eligible for Windows 11." -ForegroundColor Green + Write-Host "YES: This machine is eligible for Windows 11." -ForegroundColor Green } else { - Write-Host "NO – This machine is NOT eligible for Windows 11." -ForegroundColor Red + Write-Host "NO: This machine is NOT eligible for Windows 11." -ForegroundColor Red } }