In PowerShell, Get-WMIObject and Get-CIMInstance cmdlets gets computer multiple properties, system information. Administrators using these command for years to get computer information but it needs to remember wmi/cim classes to get specific computer properties.
Get-ComputerInfo cmdlet in PowerShell retrieves computer hardware information like manufacturer, Model, number of processors, Network adapters, BIOS information like Bios version, Bios firmware type, Operating system information OS manufacturer, OS Installed Date, RAM configuration, OS Serial number and so on.
Get-ComputerInfo
cmdlet retrieves all computer properties without any parameters. Currently Get-ComputerInfo cmdlet returns approx. 182 properties and 4 methods in Windows 10 OS.
Get-ComputerInfo
returns properties member type and definition using Get-Member
cmdlet as below

Let’s understand Get-ComputerInfo cmdlet in PowerShell with more example to get multiple properties of computer, get computer information about remote computer, get OS version of remote computer and so on…
Get-ComputerInfo multiple properties
You can get computer information about local computer using Get-ComputerInfo
cmdlet , select multiple properties of computer information you want to return, run below command to get OS version of computer, get OS name
Get-ComputerInfo | Select OSName, OSVersion, OSLastBootupTime,OSLanguage
In the above PowerShell script to get computer information, it gets
OSName – get OS name of computer
OsVersion – get OS version of computer
OSLastBootupTime – get last boot up time of computer
OSLanguage – get OS language of system
Output of above script as below
PS C:\> Get-ComputerInfo | Select OSName, OSVersion, OSLastBootupTime,OSLanguage
OsName OsVersion OsLastBootUpTime OsLanguage
------ --------- ---------------- ----------
Microsoft Windows 10 Pro 10.0.18363 03-08-2021 11:18:21 en-US
PS C:\>
Cool Tip: Do you know which are approved verbs in PowerShell!
Get-ComputerInfo – Get BIOS Properties of System
You can get BIOS properties of system using Get-ComputerInfo as below
Get-ComputerInfo -Property *BIOS*
Above Get-ComputerInfo uses wildcard character to select BIOS properties like Bios manifacturer, Bios Name, BiosVersion
Output of above command as below
PS C:\> Get-ComputerInfo -Property *BIOS*
BiosCharacteristics : {7, 9, 11, 12...}
BiosBIOSVersion : {DELL - 1072009, 1.8.2, American Megatrends - 5000B}
BiosBuildNumber :
BiosCaption : 1.8.2
BiosCodeSet :
BiosCurrentLanguage : en|US|iso8859-1
BiosDescription : 1.8.2
BiosEmbeddedControllerMajorVersion : 255
BiosEmbeddedControllerMinorVersion : 255
BiosFirmwareType : Uefi
BiosIdentificationCode :
BiosInstallableLanguages : 2
BiosInstallDate :
BiosLanguageEdition :
BiosListOfLanguages : {en|US|iso8859-1, }
BiosManufacturer : Dell Inc.
BiosName : 1.8.2
BiosOtherTargetOS :
BiosPrimaryBIOS : True
BiosReleaseDate : 03-04-2019 05:30:00
BiosSeralNumber : ADVC3X2
BiosSMBIOSBIOSVersion : 1.8.2
BiosSMBIOSMajorVersion : 3
BiosSMBIOSMinorVersion : 1
BiosSMBIOSPresent : True
BiosSoftwareElementState : Running
BiosStatus : OK
BiosSystemBiosMajorVersion : 1
BiosSystemBiosMinorVersion : 8
BiosTargetOperatingSystem : 0
BiosVersion : DELL - 1072009
Cool Tip: How to get list of PowerShell modules!
Get Computer Information for Remote Computer
If you want to get system information from remote computer, you need to use Invoke-Cmdlet
which take has ComputerName
parameter to specify one or more remote computer name. Get-ComputerInfo doesn’t have any parameter to get remote computer information.
Invoke-Command -ComputerName 'incorp-eu-01' -ScriptBlock { Get-ComputerInfo -Property "OS*" }
In above PowerShell script, Invoke-Command
cmdlet uses remote computer name to run command and get output from command and using Get-ComputerInfo
cmdlet it get operating system information of remote system.
If you want to get system information or network information from multiple computers, specify remote computer name as comma (,) separated as below
Invoke-Command -ComputerName 'incorp-eu-01','incorp-eu-02' -ScriptBlock { Get-ComputerInfo -Property "OS*" }
Cool Tip: How to rename a computer in PowerShell!
Conclusion
I hope above article on using PowerShell Get-ComputerInfo to get system information for multiple servers, get system information, BIOS information or OS information of remote system.
Get-ComputerInfo cmdlet in PowerShell is very helpful to retrieve all computer properties without using any parameters.
You can find more topics about PowerShell Active Directory commands and PowerShell basics on ShellGeek home page.