Get the Computer Name cross-platform using Powershell
- coding
- 2023-12-10
- 1 minute to read
- powershell
Table of Contents
A long time ago in a galaxy far, far away…
This post is over 12 months old, that's a long time in tech! Please be mindful of that when reading this post, young Padawan, as it could be outdated. I try to keep things up to date as much as possible. If you think something needs updating, please let me know in the comments.
Introduction
There are a few ways to get the computer name using Powershell. One way is to use the environment variable $env:COMPUTERNAME
however, this doesn’t work on a Mac.
Other options
Here are a few options to get the computer name using Powershell that work consistently on both Windows and Mac.
MachineName property of the Environment class
[Environment]::MachineName
GetHost() method
[System.Net.Dns]::GetHostName()
Using the output
Both of these options will return the computer name as a string allowing you to pass the value into a variable.
$name = [System.Net.Dns]::GetHostName()
Write-Host "Computer name is ${name}"
> Computer name is Justin-MacStudioM2.local
$name = [System.Net.Dns]::GetHostName()
Write-Host "Computer name is ${name}"
> Computer name is Justin-MacStudioM2.local