Created
August 11, 2023 12:46
-
-
Save twobob/1e3b4a0ea2f243bef2bfa0a3270ad6b7 to your computer and use it in GitHub Desktop.
poor mans lscpu via powershell on windows
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
| $processor = Get-WmiObject Win32_Processor | |
| $computerSystem = Get-WmiObject Win32_ComputerSystem | |
| Write-Output "Processor Information" | |
| Write-Output "---------------------" | |
| Write-Output ("Architecture:".PadRight(30) + "$($processor.Architecture)") | |
| Write-Output ("CPU op-mode(s):".PadRight(30) + "$($processor.CpuStatus -join ', ')") | |
| Write-Output ("Byte Order:".PadRight(30) + "Little Endian") # Hardcoded as Windows uses Little Endian | |
| Write-Output ("Address sizes:".PadRight(30) + "$($processor.AddressWidth) bits physical, $($processor.AddressWidth) bits virtual") | |
| Write-Output ("CPU(s):".PadRight(30) + "$($processor.NumberOfCores)") | |
| Write-Output ("On-line CPU(s) list:".PadRight(30) + "$($processor.DeviceID)") | |
| Write-Output ("Thread(s) per core:".PadRight(30) + "$($processor.ThreadCount / $processor.NumberOfCores)") | |
| Write-Output ("Core(s) per socket:".PadRight(30) + "$($processor.NumberOfCores / $computerSystem.NumberOfProcessors)") | |
| Write-Output ("Socket(s):".PadRight(30) + "$($computerSystem.NumberOfProcessors)") # TODO MAKE THIS RIGHT | |
| Write-Output ("NUMA node(s):".PadRight(30) + "N/A") # If the info is not available | |
| Write-Output ("Vendor ID:".PadRight(30) + "$($processor.Manufacturer)") | |
| Write-Output ("CPU family:".PadRight(30) + "$($processor.Family)") | |
| Write-Output ("Model:".PadRight(30) + "$($processor.ProcessorType)") | |
| Write-Output ("Model name:".PadRight(30) + "$($processor.Name)") | |
| Write-Output ("Stepping:".PadRight(30) + "$($processor.Revision)") | |
| Write-Output ("CPU MHz:".PadRight(30) + "$($processor.MaxClockSpeed / 1000) GHz") | |
| Write-Output ("BogoMIPS:".PadRight(30) + $($processor.MaxClockSpeed / 2)) | |
| Write-Output ("Virtualization:".PadRight(30) + "$($processor.VirtualizationFirmwareEnabled)") | |
| Write-Output ("Hypervisor vendor:".PadRight(30) + "N/A") | |
| Write-Output ("Virtualization type:".PadRight(30) + "$($processor.VirtualizationFirmwareEnabled)") | |
| Write-Output ("L1d cache:".PadRight(30) + "$($processor.L2CacheSize) KB") | |
| Write-Output ("L1i cache:".PadRight(30) + "$($processor.L2CacheSize) KB") | |
| Write-Output ("L2 cache:".PadRight(30) + "$($processor.L3CacheSize) KB") | |
| Write-Output ("L3 cache:".PadRight(30) + "$($processor.L3CacheSize / 1024) MB") | |
| Write-Output ("NUMA node0 CPU(s):".PadRight(30) + "$($processor.NumberOfLogicalProcessors)") | |
| # Vulnerability information | |
| Write-Output ("Vulnerability Itlb multihit:".PadRight(40) + "$($processor.SpeculationControlStatus -like '*ITLB_MultiHit*')") | |
| Write-Output ("Vulnerability L1tf:".PadRight(40) + "$($processor.SpeculationControlStatus -like '*L1TF*')") | |
| Write-Output ("Vulnerability Mds:".PadRight(40) + "$($processor.SpeculationControlStatus -like '*MDS*')") | |
| Write-Output ("Vulnerability Meltdown:".PadRight(40) + "$($processor.SpeculationControlStatus -like '*Meltdown*')") | |
| Write-Output ("Vulnerability Spec store bypass:".PadRight(40) + "$($processor.SpeculationControlStatus -like '*Spec_Store_Bypass*')") | |
| Write-Output ("Vulnerability Spectre v1:".PadRight(40) + "$($processor.SpeculationControlStatus -like '*SpectreV1*')") | |
| Write-Output ("Vulnerability Spectre v2:".PadRight(40) + "$($processor.SpeculationControlStatus -like '*SpectreV2*')") | |
| Write-Output ("Vulnerability Srbds:".PadRight(40) + "$($processor.SpeculationControlStatus -like '*SRBDS*')") | |
| Write-Output ("Vulnerability Tsx async abort:".PadRight(40) + "$($processor.SpeculationControlStatus -like '*TSXAsyncAbort*')") | |
| Write-Output "`n" |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
has to be run in a powershell - not cross platform version. Its deprecated on there.
Check exectution policy I guess too. but eh you ran it.Get-CimInstance may be what you need