How to Get a Computer Name with PowerShell


The Best WordPress plugins!

1. WP Reset

2. WP 301 Redirects

3. WP Force SSL

With the introduction of PowerShell, you can now manage your computer from a command line. This allows for better management and saves time on repetitive tasks that might take hours or days to complete in the past. Powerhaler is a powerful tool which you can use to rename each individual file as well as make more complex changes such as renaming all files in a folder with one click of the mouse wheel!

The “powershell script to get computer name and ip address” is a way to get the computer’s name, IP address, and MAC address using PowerShell.

How to Get a Computer Name with PowerShell

In a PowerShell script, do you need to determine the name of a local or remote Windows computer? You’ve come to the right place. In this video, you’ll learn how to use PowerShell to acquire a machine name in a variety of methods, some of which are surprising.


This post will be a step-by-step guide. If you want to put everything you’ve learned in this video into practice, make sure you have PowerShell installed. That concludes our discussion. The post will use PowerShell 7 (the most recent version at the time of writing), although Windows PowerShell should function just as well.

Using the command Hostname

Before the advent of PowerShell, the only Windows command interpreter available was cmd.exe. We didn’t need PowerShell to retrieve a machine name back then; we had the hostname command!

The hostname command is really straightforward. Type hostname into a PowerShell (or even a cmd.exe terminal) window. Done. The result of this command is a single string (the computer name of the local computer).

Using the command hostnameUsing the command hostname

Using the System.Net framework. .NET Class for DNS

If you want to take a more PowerShell-centric approach, you may use the GetHostByName() static function in the System module. The GetHostName() function or the Net.DNS.NET class might be used.

GetHostName() is a method that returns the name of the host.

Using GetHostName() is a method that returns the name of the host. is probably the easiest way to use PowerShell to get a computer name. Simply call this static method with no arguments as shown below. This command will return a single string just like the hostname command does.


GetHostByName() is a method that returns the name of the host.

System.Net is an option that is comparable to System.Net. GetHostByName is a DNS class function that you may use to acquire a machine name (). This technique is a DNS resolver that may also be used to seek up other host names.

Run [System.NET.DNS]::GetHostByName($null) or [System.NET.DNS]::GetHostByName(“) to discover the host name of the local computer, for example.

[System.Net.DNS]::GetHostByName(”) [System.Net.DNS]::GetHostByName($Null)

You’ll notice that this approach isn’t only for looking up machine names; the AddressList property, as seen below, may also be used to seek up IP addresses.

Using GetHostByName() is a method that returns the name of the host.Using GetHostByName() is a method that returns the name of the host.

If you simply want to know the name of your local machine, use the HostName property, and PowerShell will only return the hostname.

[System.Net.DNS]::GetHostByName(”). HostName [System.Net.DNS]::GetHostByName($Null). HostName

Using Variables in the Environment

Environment variables are usually a good place to look for information about Windows PCs, and PowerShell is no exception.

Environment Variable ComputerName

ComputerName is an environment variable that is stored on every Windows PC. User environment variables may be accessed using the $env PowerShell construct, just like any other environment variable.

To reference Environment Variable ComputerName, open up PowerShell and preface the environment variable name with $env:. PowerShell will then return the local computer name as a single string.

The MachineName property is used to identify a machine.

Alternatively, if, for some reason, the user-based COMPUTERNAME environment variable doesn’t work in your situation, you can also use The MachineName property is used to identify a machine. that’s part of the .NET Environment class.

Reference The MachineName property is used to identify a machine. in the Environment .NET class as shown below.


Using WMI

Finally, you have the choice of going into WMI or CIM. This should usually be your final choice since it will involve the greatest overhead, although little. To query distant computer names, it’s recommended to use PowerShell to acquire a machine name using WMI.

Use Get-CimInstance to query the Win32 ComputerSystem class to query a local computer name using WMI, as illustrated below. Because Get-CimInstance returns an object representing a CIM instance rather than the computer name, use the Name attribute to just return the machine name.

Get-CimInstance -ClassName Win32 ComputerSystem (Get-CimInstance -ClassName Win32 ComputerSystem) (Get-CimInstance -ClassName Win32 ComputerSystem) (Get-CimInstance -ClassName Win32 ComputerSystem) (Get-Cim Name

Query for Win32 ComputerSystemQuery for Win32 ComputerSystem

Locating the Names of Remote Computers

Perhaps you’re in charge of a large number of computers and need to determine the hostname for all of them. If you’re in that sort of setting, the hostname will most likely be reflected in Active Directory (AD) or gathered by some other asset management tool. If it isn’t, you can simply revert to PowerShell.

There are two ways to acquire remote machine names using PowerShell. You have two options: utilize WMI or wrap the techniques you taught above in a PowerShell Remoting scriptblock.

Remoting using PowerShell

Instead than going through each strategy again in this section, simply know this. Any local command may be wrapped in a PowerShell Remoting scriptblock.

If you have PowerShell Remoting enabled on a remote machine, for example, you may use the Invoke-Command command to perform any of the above techniques within a scriptblock.

If you just have an IP address and you’re not in an AD environment, use Invoke-Command to determine the hostname of a machine with the IP address

## To provide to Invoke-Command, create the pscredential object. Get-Credential $credential = Get-Credential $credential = Get-Credential $cred ## On the remote computer, run the command. ScriptBlock [System.Net.Dns]::GetHostName() Invoke-Command -ComputerName -Credential $credential

If PowerShell Remoting was successful in connecting to the distant machine, PowerShell will provide the identical results as if the command were ran locally.

Using WMI

You may also utilize WMI to acquire a machine name using PowerShell without needing to wrap a command within a scriptblock. The procedure for determining a distant computer’s name is almost identical to that for determining a local computer’s name; just use the ComputerName argument.

Get-CimInstance -ClassName Win32 ComputerSystem -ComputerName (Get-CimInstance -ClassName Win32 ComputerSystem -ComputerName (Get-CimInstance -ClassName Win32 ComputerSystem -ComputerName (Get-CimInstance -ClassName Win32 ComputerSystem -Comput Name

Authentication is required for Get-CimInstance. If you’re working in an Active Directory environment, you won’t need to submit any credentials. If you’re not in an AD environment, you’ll have to create a new CIM session using the New-CimSession cmdlet, use Get-CimInstance to utilize it, and then manually delete the CIM session. Here’s a code sample that demonstrates how to accomplish that.

$credential = Get-Credential ## Connect to the remote computer using the credentials and create a remote session $cimSession = New-CimSession -ComputerName -Credential $credential ## Use the session to query WMI and refer to the Name field (Get-CimInstance -Session $cimSession -ClassName Win32 ComputerSystem -Name Win32 ComputerSystem -Name Win32 ComputerSystem -Name Win32 ComputerSystem -Name Win32 ComputerSystem -Name Win32 ComputerSystem -Name Win32_ Name

Steps to Follow

If you’ve followed this course to the end, you should be familiar with virtually all of the most common PowerShell methods for obtaining a machine name. Although there are definitely a few more we’ve overlooked, these are the most common ways this activity is handled in scripts.

Now that you know how to do it, consider writing a script to obtain machine names in bulk through a loop, possibly using a CSV or text file!

The “powershell computername variable” is a command-line tool that allows users to get the computer name.

Frequently Asked Questions

How do I get the computer name in PowerShell?

A: To get the computer name, you will have to be on an administrator PowerShell environment. You can do this by running C:\windows\system32\WindowsPowerShell\v1.0 and typing in Administrator before all commands.

How do you find the computer name?

A: User can find the computer name through either the network settings on their device, using a combination of Windows properties or by looking in c:\windows\system32\config

How do I find computer name using CMD?

A: \computername

Related Tags

  • get computer name cmd
  • get remote computer name powershell
  • powershell get computer name and domain
  • powershell computername parameter
  • powershell rename-computer

Table of Content