Wmic Windows 11 Alternative [updated] Now
param( [string]$Class, [string]$Get, [string]$Where ) switch ($Class) "os" Select-Object * "cpu" Select-Object * "diskdrive" Select-Object * "logicaldisk" Get-CimInstance Win32_LogicalDisk "process" Select-Object * "service" Get-Service "product" Get-Package default Write-Host "Class not supported in this compatibility script"
# CPU details Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores, MaxClockSpeed Get-CimInstance -ClassName Win32_Processor | Format-List wmic windows 11 alternative
# Boot time (like wmic os get lastbootuptime) (Get-CimInstance Win32_OperatingSystem).LastBootUpTime System uptime (Get-Date) - (Get-CimInstance Win32_OperatingSystem).LastBootUpTime List all environment variables Get-ChildItem Env: Find specific process by command line Get-CimInstance Win32_Process -Filter "name = 'chrome.exe'" | Select-Object CommandLine User account information Get-CimInstance Win32_UserAccount | Select-Object Name, Disabled, Lockout Motherboard information Get-CimInstance Win32_BaseBoard | Select-Object Product, Manufacturer, Version Batch Script Migration Old WMIC batch file: wmic windows 11 alternative
Save this as wmic.ps1 for basic compatibility: wmic windows 11 alternative
# Physical disks Get-CimInstance Win32_DiskDrive | Select-Object Model, Size, InterfaceType Get-CimInstance Win32_LogicalDisk | Select-Object DeviceID, Size, FreeSpace Process Management List Processes
# Better alternative to wmic product Get-Package | Select-Object Name, Version, ProviderName Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall* | Select-Object DisplayName, DisplayVersion For 64-bit apps Get-ItemProperty HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall* | Select-Object DisplayName, DisplayVersion BIOS Information # BIOS details Get-CimInstance Win32_BIOS | Select-Object Manufacturer, Name, SerialNumber, Version Network Configuration # IP configuration Get-NetIPAddress | Select-Object InterfaceAlias, IPAddress, AddressFamily Network adapters Get-NetAdapter | Select-Object Name, InterfaceDescription, Status, LinkSpeed Instead of wmic nic get Get-CimInstance Win32_NetworkAdapter | Where-Object $_.NetEnabled -eq $true Creating Useful Aliases Add these to your PowerShell profile for quicker transitions: