train icon indicating copy to clipboard operation
train copied to clipboard

Windows platform detection relies on deprecated wmic.exe

Open clintoncwolfe opened this issue 4 years ago • 2 comments

On machines that are missing wmic.exe (such as Windows Nano), inspec detect will be missing architecture data, like this:

Name:      windows_10.0.14393
Families:  windows, os
Release:   10.0.14393
Arch:      unknown

The cause is traced to wmic.exe being missing, which was deprecated. Users are now advised to use powershell commandlets to get the data.

Get-WmiObject Win32_OperatingSystem | Select Version, Caption, BuildNumber | ConvertTo-Json

For getting the CPU architecture, try

Get-CimInstance -Class CIM_Processor -ErrorAction Stop | Select Architecture | ConvertTo-Json

clintoncwolfe avatar Mar 31 '21 23:03 clintoncwolfe

What's the impact of this since windows nano is basically a dead platform?

tas50 avatar Mar 31 '21 23:03 tas50

Looks to be very minor. I just tested again on Windows Server Core LTS 2019, and it does include wmic.exe . Fixing this will be awkward since we don't know if we have Powershell this early in the platform detection phase. I think we should leave it be for now, but if it disappears in the future this issue should be here to track it.

clintoncwolfe avatar Apr 01 '21 23:04 clintoncwolfe