Respuestas:
Simplemente puede usar el método .NET Framework:
[System.Net.Dns]::GetHostName()
además
$env:COMPUTERNAME
$env:COMPUTERNAME
funciona bien en Windows 10 (tenga en cuenta el signo de dólar al principio)
$env:COMPUTERNAME
no funcionará en Linux y macOS. Sin embargo, lo [Environment]::MachineName
hace.
No olvides que todas tus viejas utilidades de consola funcionan bien en PowerShell:
PS> hostname
KEITH1
Forma larga:
get-content env:computername
Forma corta:
gc env:computername
computername
es el nombre de NetBIOS, que está limitado a 15 caracteres.
Un pequeño ajuste en la respuesta de @ CPU-100, para el FQDN local:
[System.Net.DNS]::GetHostByName($Null).HostName
En PowerShell Core v6 (funciona en macOS, Linux y Windows):
[Environment]::MachineName
[System.Net.Dns]::GetHostName()
(no se trunca) es mejor que$env:COMPUTERNAME
(trunca)