¿Cómo obtengo el nombre localhost en PowerShell?


181

¿Cómo obtengo el nombre localhost (máquina) en PowerShell? Estoy usando PowerShell 1.0.

Respuestas:


260

Simplemente puede usar el método .NET Framework:

[System.Net.Dns]::GetHostName()

además

$env:COMPUTERNAME


55
Nota: si su nombre DNS tiene más de 15 caracteres, [System.Net.Dns]::GetHostName()(no se trunca) es mejor que $env:COMPUTERNAME(trunca)
sonjz

En Windows 10 Enterprise, env: COMPUTERNAME produjo el siguiente error: env: COMPUTERNAME: El término 'env: COMPUTERNAME' no se reconoce como el nombre de un cmdlet, función, archivo de script o programa operativo. Verifique la ortografía del nombre, o si se incluyó una ruta, verifique que la ruta sea correcta e intente nuevamente. En la línea: 1 char: 1 + env: COMPUTERNAME + ~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (env: COMPUTERNAME: String) [], CommandNotFoundException + FullyQualifiedErrorId:
CommandNotFoundException

2
@mathisfun $env:COMPUTERNAMEfunciona bien en Windows 10 (tenga en cuenta el signo de dólar al principio)
oleksa

$env:COMPUTERNAMEno funcionará en Linux y macOS. Sin embargo, lo [Environment]::MachineNamehace.
felixfbecker

62

No olvides que todas tus viejas utilidades de consola funcionan bien en PowerShell:

PS> hostname
KEITH1

Sin embargo, esta es una buena respuesta, si desea guardar el valor en una variable, utilice la respuesta aceptada.
Yawar Murtaza

37

Forma larga:

get-content env:computername

Forma corta:

gc env:computername

17
supershort: $ env: COMPUTERNAME
Ross Presser

Esto funcionará bien, hasta que tenga un servidor con un nombre de más de 15 caracteres.
Gary Pendlebury

@GaryPendlebury, ¿qué pasará entonces?
Sajuuk

@Sajuuk computernamees el nombre de NetBIOS, que está limitado a 15 caracteres.
Gary Pendlebury

14

Todas las preguntas anteriores son correctas, pero si desea el nombre de host y el nombre de dominio intente esto:

 [System.Net.DNS]::GetHostByName('').HostName

4

Un pequeño ajuste en la respuesta de @ CPU-100, para el FQDN local:

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


4

En PowerShell Core v6 (funciona en macOS, Linux y Windows):

[Environment]::MachineName

0

Un análogo del código del archivo bat en Powershell

Cmd

wmic path Win32_ComputerSystem get Name

Potencia Shell

Get-WMIObject Win32_ComputerSystem | Select-Object -ExpandProperty name

y ...

hostname.exe
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.