Get-ComputerInfo – Get Computer Multiple Properties

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

Get-ComputerInfo - Member Types
Get-ComputerInfo – Member Types

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!


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.

Leave a Comment