Skip to content

Instantly share code, notes, and snippets.

@cheeseonamonkey
Created January 18, 2026 10:36
Show Gist options
  • Select an option

  • Save cheeseonamonkey/8bf7a576a45862f6c9876fc81a0832ed to your computer and use it in GitHub Desktop.

Select an option

Save cheeseonamonkey/8bf7a576a45862f6c9876fc81a0832ed to your computer and use it in GitHub Desktop.
windows specs
# === 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