How Can I Find Out a Server’s Hardware Specification?

Image of the underside of a CPU.
Without hardware specifications, nothing would ever work!
SOURCE: Hippopx

In an IT professional’s life, several situations require you to know a server’s hardware specification. The specification helps you when working on a hardware upgrade, troubleshooting problems, or assessing server resource capacity

Unfortunately, a server’s hardware specification is hardly ever readily available. You can, however, use several methods to identify a server’s hardware. In this article, I’ll show you 3 crucial methods to help you out.

3 Methods to Identify a Server’s Hardware Specification

Quick note: the first two methods will rely on built-in features in your device, whereas the third will require some external interference. But I’ll explain everything in detail for you. Let’s jump in!

Method 1: Device Manager

The first option we’ll cover for identifying a server’s hardware specification is to use the Windows Device Manager, which you can see in the image below. Device Manager is often a convenient option because it is easy to use and is built into Windows. With a few clicks, the user can access all hardware specifications without knowing any executable commands and how to run them. 

When talking to different administrators, you’ll often find that some look down their noses at this method and prefer to use PowerShell or command prompts for everything. Sure, it’s great to flex or dust off your keyboard, but typing anything is often slower than clicking a GUI. One of the biggest benefits of using Device Manager is the speed of accessing hardware details.

Screenshot of the Device Manager window.
The Device Manager is a native tool for displaying a Windows server’s hardware configuration.

The main disadvantage of using the Device Manager is that it’ll only work in some situations. For example, Windows servers running a server core configuration don’t include the Device Manager. At one time, it was possible to use a Device Manager on a Windows desktop to access a server’s device information remotely. But Microsoft removed this capability some time ago. Using Device Manager will only be an option for servers equipped with Desktop Experience.

Overall, Device Manager is a highly effective and convenient means of gaining system information quickly. Let’s now turn our attention to our next method!

Method 2: PowerShell

A second option is to use PowerShell to gather system information. Unlike the first method, you use programmatic instruction to query and retrieve your system hardware specification. 

The biggest benefit of using PowerShell is the control and flexibility you have when accessing and retrieving data from various types of onsite and remote servers. 

The disadvantages of using this method are that it takes time to execute commands, and Powershell is only typically present on Windows servers. 

To understand how PowerShell can help you retrieve server hardware specifications, let’s look at the following example. Suppose you wanted to gather information on your server’s CPU for a moment. You could leverage the power of WMI and enter the following command into PowerShell:

Get-WmiObject Win32_processor

This command and returned response in the screenshot below shows some basic information about the system’s CPUs. As handy as that might be, you would have to use a different cmdlet to gather information on the system’s memory:

 Get-WMIObject Win32_PhysicalMemory 

Additionally, for information about the system’s disks, you’ll need to use: Get-PhysicalDisk.

Screenshot of the PowerShell console displaying your system's individual components.
You can use PowerShell to retrieve information on individual system components.

An easier alternative to using individual PowerShell cmdlets is to use the Get-ComputerInfo cmdlet. This cmdlet returns a detailed summary of the system’s hardware and software configuration, as shown below.

Screenshot of the returned values of the Get-CompterInfo cmdlet.
The Get-ComputerInfo cmdlet returns a summary of the system’s configuration.

Method 3: Third-Party Solution

A third option for gathering hardware information is to use a third-party system information tool . One of my favorite utilities for examining system hardware is Belarc Advisor. But many other tools are available on the market. 

One of the most significant advantages is that you can choose from a wide variety of tools, some of which are free. Often, third-party tools will display highly detailed information about your hardware configuration.

Screenshot of the Belarc Advisor window.
Belarc Advisor is one of many available third party tools that can help you to identify a server’s hardware specifications.

Please note that while some third-party tools do work remotely, many have to be installed directly on the system. Also, if a third-party hardware utility does not support operations, it may not work with systems configured to run a server core configuration.

Overall, if you’re happy running third-party software to collect information about your hardware specification, this can be a useful way to quickly gather what you need. Some solutions can also create monitoring and auditing reports for you, saving you time. If you’re considering this method, only go with a reputable vendor. Also, consider how adding another piece of software will impact your system’s performance. Finally, consider if you’re getting good value for the money required to implement the solution. 

Final Thoughts

You can retrieve information about a server’s hardware specification in several ways, with pros and cons associated with each method. As such, only some of the methods discussed are suitable for some situations. 

Using the Device Manager to retrieve your system specification is among the most popular. It uses the Windows GUI to retrieve and display information through simple clicks. But, Windows servers running a server core configuration don’t include the Device Manager utility, which makes it impossible to use this option in this use case. 

Microsoft is continuing to use PowerShell for all programmatic execution of tasks. This method helps you to retrieve system specifications across servers and is one of the most flexible ways of retrieving hardware information. The drawback of this method is it requires you to remember commands. Additionally, you’ll need to have some degree of PowerShell knowledge and know how to execute commands correctly.

If you have the time and savvy, you could create your script for automating routine checks tailored to your system. This method can also help you create reports for system monitoring activities and audits. An alternative to using native Windows tools is to leverage third-party utilities to help automate data collection. This method can be highly convenient as you don’t need any prior knowledge. The drawback is that you often pay for the convenience it affords. 

Learn more about server hardware specification assessment and related topics in the FAQ and Resources sections below!


Why might installing a third-party hardware utility directly on a server be a problem?

Many administrators are hesitant to install any unnecessary software on their servers. At the very least, such software consumes resources that might be better used for running production workloads. At worst, though, third-party utilities might cause system stability issues, with the potential for free utilities to be bundled with malware.

How can the information generated by the Get-ComputerInfo cmdlet be written to a text file?

PowerShell makes it easy to create a text file containing the summary information generated by the Get-ComputerInfo cmdlet. The easiest way to accomplish this is to append the Out-File cmdlet, followed by the path and filename you want to use. For example, you might type Get-ComputerInfo | Out-File C:\data\summary.txt

Can I narrow down the information generated by the Get-ComputerInfo command?

The easiest way to narrow down the Get-ComputerInfo cmdlet’s output is to append the Select-Object cmdlet and the names of the objects you want to include in the output. You can also use wildcards as an alternative to individual object names. If, for example, you were only interested in seeing BIOS-related information, you could type: Get-ComputerInfo | Select-Object BIOS*.

Can the Get-WMIObject Win32_Processor cmdlet produce more detailed information than what is shown in the screen capture?

Generally speaking, PowerShell Get cmdlets, including those that use WMI, are designed to surface the most relevant information and suppress likely irrelevant information. If you want to see all of the available processor-related details, you’ll need to append the Select-Object cmdlet and an asterisk. The command would be Get-WMIObject Win32_Processor | Select-Object *.

Did Microsoft remove the ability to connect Device Manager to a remote machine?

In Windows 10, you can open the Computer Management console and select the Connect to Another Computer command from the Action menu. However, attempts to connect to Windows Server will fail. Some workarounds will allow remote device manager use, but these workarounds have yet to be officially supported by Microsoft.


TechGenix: An Article on Purchasing Hardware

Read more on making sure you purchase hardware that will last.

TechGenix: An Article on Post P2V Conversion

Find out how to clean up Device Manager after a P2V conversion.

TechGenix: An Article on Hardware Resource Consultation

Discover how PowerShell can help estimate hardware resource consumption.

Microsoft: An Article on Resolving Device Manager Error Messages

Read more on Device Manager error messages and what they mean.

Spiceworks: An Article on Finding Detailed CPU Information

Get to grips with how to use PowerShell to retrieve detailed CPU information

About The Author

Leave a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top