The command to get computer multiple properties like manufacturer, BIOS info, etc. is the Get-ComputerInfo cmdlet in PowerShell.
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.
In PowerShell, Get-WMIObject and Get-CIMInstance cmdlets get computer multiple properties and 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 retrieves all computer properties without any parameters. Currently, the 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 the Get-ComputerInfo cmdlet in PowerShell with more examples to get multiple properties of a computer, get computer information about the remote computer, get OS version of the remote computer, and so on…
Get-ComputerInfo multiple properties
The command to get computer information from a local computer is the Get-ComputerInfo cmdlet. This command retrieves multiple properties of computer information like get OS name, get OS version of a computer, os language.
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 the computer
OSLastBootupTime – Get the last boot-up time of the computer
OSLanguage – Get OS language of the system
The output of the above PowerShell script is 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 System Information using PowerShell
The powershell command to get system information is Get-ComputerInfo.
Get-ComputerInfo
In the above script, the PowerShell command Get-ComputerInfo gets the system information and displays it on the terminal.
Cool Tip: How to get the serial number of a computer in PowerShell!
Get-ComputerInfo – Get BIOS Properties of System
Use the command Get-ComputerInfo to get the BIOS properties of a system.
Get-ComputerInfo -Property *BIOS*
In the above PowerShell script, the Get-ComputerInfo uses a wildcard character to select BIOS properties like Bios manufacturer, Bios Name, BiosVersion
The output of the above command is 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 a list of PowerShell modules!
Get Computer Information for Remote Computer
To get system information from a remote computer, use Invoke-Cmdlet which has the ComputerName
parameter to specify one or more remote computer names. It uses the Get-ComputerInfo to get remote computer information.
Invoke-Command -ComputerName 'incorp-eu-01' -ScriptBlock { Get-ComputerInfo -Property "OS*" }
In the above PowerShell script, the Invoke-Command cmdlet uses a remote computer name to run a command get output from the command, and use Get-ComputerInfo
to get operating system information on the remote system.
If you want to get system information or network information from multiple computers, specify the remote computer name as a 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 the above article on using PowerShell Get-ComputerInfo to get system information for multiple servers, get system information, BIOS information, or OS information of the remote system.
The Get-ComputerInfo cmdlet in PowerShell is very helpful in retrieving all computer properties without using any parameters.
Cool Tip: How to get a Mac address in PowerShell!
You can find more topics about PowerShell Active Directory commands and PowerShell basics on the ShellGeek home page.