Created
January 18, 2026 10:36
-
-
Save cheeseonamonkey/8bf7a576a45862f6c9876fc81a0832ed to your computer and use it in GitHub Desktop.
windows specs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # === ULTIMATE METRIC MINER (EXTENDED FOR MINING & BANDWIDTH APPS) === | |
| Clear-Host | |
| $H = "Cyan"; $V = "White"; $L = "DarkGray"; $W = "Yellow" | |
| # 1. CPU DEEP DIVE + INSTRUCTION SETS | |
| Write-Host "--- [1] CPU METRICS + INSTRUCTION SETS ---" -ForegroundColor $H | |
| $cpu = Get-CimInstance Win32_Processor | |
| $cpuCache = Get-CimInstance Win32_CacheMemory | |
| $l2 = ($cpuCache | Where-Object { $_.Level -eq 4 -or $_.Purpose -eq "L2 Cache" } | Measure-Object -Property MaxCacheSize -Sum).Sum | |
| $l3 = ($cpuCache | Where-Object { $_.Level -eq 5 -or $_.Purpose -eq "L3 Cache" } | Measure-Object -Property MaxCacheSize -Sum).Sum | |
| Write-Host "Name: " -NoNewline; Write-Host $cpu.Name -ForegroundColor $V | |
| Write-Host "Architecture: " -NoNewline; Write-Host "x64 (Address Width: $($cpu.AddressWidth))" -ForegroundColor $V | |
| Write-Host "Socket: " -NoNewline; Write-Host $cpu.SocketDesignation -ForegroundColor $V | |
| Write-Host "Cores/Threads: " -NoNewline; Write-Host "$($cpu.NumberOfCores) Cores / $($cpu.NumberOfLogicalProcessors) Threads" -ForegroundColor $V | |
| Write-Host "Base Clock: " -NoNewline; Write-Host "$($cpu.MaxClockSpeed) MHz" -ForegroundColor $V | |
| Write-Host "L2 Cache (Est): " -NoNewline; Write-Host "$([math]::round($l2/1024, 2)) MB" -ForegroundColor $V | |
| Write-Host "L3 Cache (Est): " -NoNewline; Write-Host "$([math]::round($l3/1024, 2)) MB" -ForegroundColor $V | |
| Write-Host "Virtualization: " -NoNewline; Write-Host "$($cpu.VirtualizationFirmwareEnabled)" -ForegroundColor $V | |
| # Instruction Set Detection (via systeminfo or WMI limitations - may need external tool for full detail) | |
| Write-Host "`nInstruction Sets (Critical for Mining):" -ForegroundColor $W | |
| try { | |
| # Check if AES-NI present (registry or feature check) | |
| $features = (Get-WmiObject -Class Win32_Processor).Description | |
| Write-Host " - AES-NI: " -NoNewline | |
| if ($cpu.Name -match "Intel|AMD") { | |
| Write-Host "Likely Supported (CPU gen >= 2010)" -ForegroundColor $V | |
| } else { | |
| Write-Host "Unknown - Run CPU-Z for confirmation" -ForegroundColor $L | |
| } | |
| # AVX/AVX2 - typically present on modern CPUs | |
| Write-Host " - AVX/AVX2: " -NoNewline | |
| Write-Host "Check via: Get-CimInstance Win32_Processor | Select-Object -Property Name (manual lookup)" -ForegroundColor $L | |
| Write-Host " - Note: Use CPU-Z or CoreInfo for definitive instruction set list" -ForegroundColor $L | |
| } catch { | |
| Write-Host " Instruction set query failed - use CPU-Z" -ForegroundColor $L | |
| } | |
| # 2. RAM CONFIGURATION | |
| Write-Host "`n--- [2] MEMORY TOPOLOGY ---" -ForegroundColor $H | |
| $mem = Get-CimInstance Win32_PhysicalMemory | |
| $totalRAM = ($mem | Measure-Object -Property Capacity -Sum).Sum | |
| $usedSlots = $mem.Count | |
| Write-Host "Total Capacity: " -NoNewline; Write-Host "$([math]::round($totalRAM / 1GB, 2)) GB" -ForegroundColor $V | |
| Write-Host "Modules Installed:" -NoNewline; Write-Host "$usedSlots sticks detected" -ForegroundColor $V | |
| foreach ($m in $mem) { | |
| Write-Host " -> Slot $($m.DeviceLocator):" -NoNewline | |
| Write-Host " $($m.Speed) MHz | $($m.Manufacturer) | Part: $($m.PartNumber)" -ForegroundColor $V | |
| } | |
| # 3. GPU SPECIFICS (Driver & VRAM) + CUDA/OpenCL | |
| Write-Host "`n--- [3] GRAPHICS & COMPUTE ---" -ForegroundColor $H | |
| $gpus = Get-CimInstance Win32_VideoController | |
| foreach ($g in $gpus) { | |
| $vramRaw = $g.AdapterRAM | |
| if ($vramRaw -lt 0) { $vramRaw = $vramRaw + 4GB + 4GB } | |
| $vramGB = [math]::round($vramRaw / 1GB, 2) | |
| Write-Host "Device Name: " -NoNewline; Write-Host $g.Name -ForegroundColor $V | |
| Write-Host " - Driver Ver: " -NoNewline; Write-Host $g.DriverVersion -ForegroundColor $V | |
| Write-Host " - VRAM (Ded): " -NoNewline; Write-Host "$vramGB GB" -ForegroundColor $V | |
| Write-Host " - Resolution: " -NoNewline; Write-Host "$($g.CurrentHorizontalResolution) x $($g.CurrentVerticalResolution) @ $($g.CurrentRefreshRate)Hz" -ForegroundColor $V | |
| Write-Host " - Status: " -NoNewline; Write-Host $g.Status -ForegroundColor $V | |
| Write-Host " - Mining Hint: " -NoNewline | |
| if ($g.Name -match "NVIDIA") { | |
| Write-Host "NVIDIA - Check CUDA Cores via nvidia-smi" -ForegroundColor $W | |
| } elseif ($g.Name -match "AMD|Radeon") { | |
| Write-Host "AMD - Check Stream Processors via GPU-Z" -ForegroundColor $W | |
| } else { | |
| Write-Host "Integrated - Not viable for mining" -ForegroundColor $L | |
| } | |
| } | |
| # 4. STORAGE HEALTH & SPEED CLASS | |
| Write-Host "`n--- [4] DRIVE CONTROLLERS ---" -ForegroundColor $H | |
| $disks = Get-PhysicalDisk | Sort-Object MediaType | |
| foreach ($d in $disks) { | |
| $bus = $d.BusType | |
| $health = $d.HealthStatus | |
| $sizeGB = [math]::round($d.Size / 1GB, 1) | |
| $media = $d.MediaType | |
| if ($media -eq "Unspecified" -and ($d.Model -match "NVMe" -or $bus -match "NVMe")) { $media = "SSD (NVMe)" } | |
| Write-Host "Drive ($($d.DeviceId)): " -NoNewline; Write-Host "$($d.FriendlyName)" -ForegroundColor $V | |
| Write-Host " - Type/Bus: " -NoNewline; Write-Host "$media / $bus" -ForegroundColor $V | |
| Write-Host " - Capacity: " -NoNewline; Write-Host "$sizeGB GB" -ForegroundColor $V | |
| Write-Host " - Health: " -NoNewline; Write-Host "$health" -ForegroundColor $V | |
| Write-Host " - Firmware: " -NoNewline; Write-Host "$($d.FirmwareVersion)" -ForegroundColor $V | |
| } | |
| # 5. NETWORK LINK STATES + BANDWIDTH CAPABILITIES | |
| Write-Host "`n--- [5] NETWORK ADAPTERS (CRITICAL FOR BANDWIDTH APPS) ---" -ForegroundColor $H | |
| $net = Get-NetAdapter | Where-Object Status -eq 'Up' | |
| foreach ($n in $net) { | |
| $linkSpeed = $n.LinkSpeed | |
| Write-Host "Interface: " -NoNewline; Write-Host "$($n.Name) ($($n.InterfaceDescription))" -ForegroundColor $V | |
| Write-Host " - MAC Address: " -NoNewline; Write-Host $n.MacAddress -ForegroundColor $V | |
| Write-Host " - Link Speed: " -NoNewline; Write-Host $linkSpeed -ForegroundColor $V | |
| Write-Host " - Media Type: " -NoNewline; Write-Host $n.MediaType -ForegroundColor $V | |
| Write-Host " - Driver Ver: " -NoNewline; Write-Host $n.DriverVersion -ForegroundColor $V | |
| Write-Host " - Driver Date: " -NoNewline; Write-Host $n.DriverDate -ForegroundColor $V | |
| } | |
| # Quick Network Stats (Last Hour) | |
| Write-Host "`nBandwidth Usage (System-Wide, Since Boot):" -ForegroundColor $W | |
| $netStats = Get-NetAdapterStatistics | |
| foreach ($ns in $netStats) { | |
| $sentGB = [math]::round($ns.SentBytes / 1GB, 3) | |
| $recvGB = [math]::round($ns.ReceivedBytes / 1GB, 3) | |
| Write-Host " $($ns.Name): " -NoNewline | |
| Write-Host "Sent: $sentGB GB | Recv: $recvGB GB" -ForegroundColor $V | |
| } | |
| # 6. POWER PLAN & TDP (Estimate) | |
| Write-Host "`n--- [6] POWER CONFIGURATION ---" -ForegroundColor $H | |
| $activePlan = powercfg /getactivescheme | |
| Write-Host "Active Power Plan:" -ForegroundColor $V | |
| Write-Host " $activePlan" -ForegroundColor $V | |
| # Attempt to get TDP (only works on some systems via WMI) | |
| try { | |
| $tdp = Get-CimInstance -Namespace root/wmi -ClassName MSAcpi_ThermalZoneTemperature -ErrorAction SilentlyContinue | |
| if ($tdp) { | |
| Write-Host "`nThermal Zones Detected:" -ForegroundColor $W | |
| foreach ($zone in $tdp) { | |
| $tempK = $zone.CurrentTemperature | |
| $tempC = [math]::round(($tempK / 10) - 273.15, 1) | |
| Write-Host " Zone: $($zone.InstanceName) -> $tempC°C" -ForegroundColor $V | |
| } | |
| } else { | |
| Write-Host "Thermal data unavailable via WMI - use HWiNFO64 for temps" -ForegroundColor $L | |
| } | |
| } catch { | |
| Write-Host "Thermal monitoring requires external tool (HWiNFO64, Open Hardware Monitor)" -ForegroundColor $L | |
| } | |
| # 7. BATTERY HEALTH (Laptops Only) | |
| $bat = Get-CimInstance -ClassName Win32_Battery -ErrorAction SilentlyContinue | |
| if ($bat) { | |
| Write-Host "`n--- [7] POWER & BATTERY ---" -ForegroundColor $H | |
| Write-Host "Battery Status: " -NoNewline; Write-Host "$($bat.BatteryStatus) (1=Discharging, 2=AC)" -ForegroundColor $V | |
| Write-Host "Voltage: " -NoNewline; Write-Host "$($bat.DesignVoltage) mV" -ForegroundColor $V | |
| Write-Host "Estimated Charge: " -NoNewline; Write-Host "$($bat.EstimatedChargeRemaining)%" -ForegroundColor $V | |
| Write-Host "Chemistry: " -NoNewline; Write-Host $bat.Chemistry -ForegroundColor $V | |
| } | |
| # 8. RESOURCE UTILIZATION BASELINE | |
| Write-Host "`n--- [8] CURRENT RESOURCE USAGE (BASELINE) ---" -ForegroundColor $H | |
| $cpuLoad = (Get-Counter '\Processor(_Total)\% Processor Time').CounterSamples.CookedValue | |
| $ramUsed = (Get-CimInstance Win32_OperatingSystem).TotalVisibleMemorySize - (Get-CimInstance Win32_OperatingSystem).FreePhysicalMemory | |
| $ramUsedGB = [math]::round($ramUsed / 1MB, 2) | |
| $ramTotalGB = [math]::round((Get-CimInstance Win32_OperatingSystem).TotalVisibleMemorySize / 1MB, 2) | |
| Write-Host "CPU Usage: " -NoNewline; Write-Host "$([math]::round($cpuLoad, 1))%" -ForegroundColor $V | |
| Write-Host "RAM Usage: " -NoNewline; Write-Host "$ramUsedGB GB / $ramTotalGB GB" -ForegroundColor $V | |
| # Disk I/O (Snapshot) | |
| $diskIO = Get-Counter '\PhysicalDisk(_Total)\Disk Bytes/sec' -ErrorAction SilentlyContinue | |
| if ($diskIO) { | |
| $ioMBps = [math]::round($diskIO.CounterSamples.CookedValue / 1MB, 2) | |
| Write-Host "Disk I/O: " -NoNewline; Write-Host "$ioMBps MB/s" -ForegroundColor $V | |
| } | |
| # 9. OS & UPTIME | |
| Write-Host "`n--- [9] ENVIRONMENT ---" -ForegroundColor $H | |
| $os = Get-CimInstance Win32_OperatingSystem | |
| $boot = $os.LastBootUpTime | |
| $uptime = (Get-Date) - $boot | |
| Write-Host "OS Version: " -NoNewline; Write-Host "$($os.Caption) ($($os.Version))" -ForegroundColor $V | |
| Write-Host "Last Boot: " -NoNewline; Write-Host $boot -ForegroundColor $V | |
| Write-Host "Current Uptime: " -NoNewline; Write-Host "$($uptime.Days)d $($uptime.Hours)h $($uptime.Minutes)m" -ForegroundColor $V | |
| # 10. INTERNET SPEED TEST (OPTIONAL - REQUIRES SPEEDTEST-CLI) | |
| Write-Host "`n--- [10] BANDWIDTH TEST (OPTIONAL) ---" -ForegroundColor $H | |
| Write-Host "NOTE: Install speedtest-cli via: " -ForegroundColor $W | |
| Write-Host " choco install speedtest -y" -ForegroundColor $L | |
| Write-Host "Then run: speedtest" -ForegroundColor $L | |
| # 11. MINING & APP RECOMMENDATIONS | |
| Write-Host "`n--- [11] APPLICATION SUITABILITY ---" -ForegroundColor $H | |
| Write-Host "Based on detected hardware:" -ForegroundColor $W | |
| # Crypto Mining Check | |
| if ($cpu.NumberOfCores -ge 4 -and $cpu.Name -match "Intel|AMD") { | |
| Write-Host " [OK] CPU Mining: " -NoNewline; Write-Host "Viable (4+ cores, modern CPU)" -ForegroundColor "Green" | |
| Write-Host " Algorithms: RandomX (Monero), Cryptonight variants" -ForegroundColor $L | |
| } else { | |
| Write-Host " [NO] CPU Mining: " -NoNewline; Write-Host "Not recommended (underpowered)" -ForegroundColor "Red" | |
| } | |
| $hasGPU = $gpus | Where-Object { $_.Name -match "NVIDIA|AMD" -and $_.Name -notmatch "Intel" } | |
| if ($hasGPU) { | |
| Write-Host " [OK] GPU Mining: " -NoNewline; Write-Host "Viable (Dedicated GPU detected)" -ForegroundColor "Green" | |
| Write-Host " Algorithms: Ethash, KawPow, Autolykos2" -ForegroundColor $L | |
| } else { | |
| Write-Host " [NO] GPU Mining: " -NoNewline; Write-Host "Not viable (No dedicated GPU)" -ForegroundColor "Red" | |
| } | |
| # Bandwidth Apps Check | |
| $netUp = $net | Where-Object { $_.LinkSpeed -match "Gbps|Mbps" } | |
| if ($netUp) { | |
| Write-Host " [OK] EarnApp/Honeygain/Mysterium:" -NoNewline | |
| Write-Host " Viable (Active network detected)" -ForegroundColor "Green" | |
| Write-Host " Requires: Stable internet, always-on PC, bandwidth cap check" -ForegroundColor $L | |
| } else { | |
| Write-Host " [??] Bandwidth Apps:" -NoNewline; Write-Host " Check network stability" -ForegroundColor $W | |
| } | |
| Write-Host "`n--- ANALYSIS COMPLETE ---" -ForegroundColor $H | |
| Write-Host "Next Steps:" -ForegroundColor $W | |
| Write-Host " 1. Run CPU-Z or CoreInfo for instruction sets (AES-NI, AVX2)" -ForegroundColor $L | |
| Write-Host " 2. Run HWiNFO64 for temps and power consumption under load" -ForegroundColor $L | |
| Write-Host " 3. Run speedtest-cli for actual bandwidth metrics" -ForegroundColor $L | |
| Write-Host " 4. Check electricity costs vs. mining profitability (WhatToMine.com)" -ForegroundColor $L | |
| Write-Host " 5. For bandwidth apps: Verify ISP TOS allows commercial use" -ForegroundColor $L | |
| Write-Host "--------------------------------" -ForegroundColor $L |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment