Respostas:
Você pode apenas usar o método .NET Framework:
[System.Net.Dns]::GetHostName()
Além disso
$env:COMPUTERNAME
$env:COMPUTERNAME
funciona bem no Windows 10 (por favor entre nota do dólar no início)
$env:COMPUTERNAME
não funcionará no Linux e no macOS. No entanto, [Environment]::MachineName
faz.
Não esqueça que todos os seus utilitários antigos de console funcionam perfeitamente no PowerShell:
PS> hostname
KEITH1
Forma longa:
get-content env:computername
Forma curta:
gc env:computername
computername
é o nome NetBIOS, limitado a 15 caracteres.
Um pequeno ajuste na resposta do @ CPU-100, para o FQDN local:
[System.Net.DNS]::GetHostByName($Null).HostName
No PowerShell Core v6 (funciona no macOS, Linux e Windows):
[Environment]::MachineName
[System.Net.Dns]::GetHostName()
(não truncar) é melhor do que$env:COMPUTERNAME
(trunca)