PowerShell에서 로컬 호스트 이름을 얻으려면 어떻게합니까?


181

PowerShell에서 로컬 호스트 (컴퓨터) 이름을 어떻게 얻습니까? PowerShell 1.0을 사용하고 있습니다.

답변:


260

.NET Framework 방법을 사용할 수 있습니다.

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

또한

$env:COMPUTERNAME


5
참고 : DNS 이름이 15자를 [System.Net.Dns]::GetHostName()초과하면 $env:COMPUTERNAME(잘리지 않음) 보다 잘립니다 (절단)
sonjz

Windows 10 Enterprise에서 env : COMPUTERNAME은 다음 오류를 생성했습니다. env : COMPUTERNAME : 'env : COMPUTERNAME'이라는 용어는 cmdlet, 함수, 스크립트 파일 또는 작동 가능한 프로그램의 이름으로 인식되지 않습니다. 이름의 철자를 확인하거나 경로가 포함 된 경우 경로가 올바른지 확인한 후 다시 시도하십시오. 1 행 : char : 1 + env : COMPUTERNAME + ~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound : (env : COMPUTERNAME : String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
mathisfun

2
@mathisfun $env:COMPUTERNAME은 Windows 10에서 잘 작동합니다 (처음에는 달러 기호를 기록하십시오)
oleksa

$env:COMPUTERNAMELinux 및 macOS에서는 작동하지 않습니다. 그러나 [Environment]::MachineName그렇지 않습니다.
felixfbecker 2014 년

62

이전의 모든 콘솔 유틸리티가 PowerShell에서 제대로 작동한다는 것을 잊지 마십시오.

PS> hostname
KEITH1

그러나 좋은 답변입니다. 값을 변수에 저장하려면 허용 된 답변을 사용하십시오.
Yawar Murtaza

37

긴 형태 :

get-content env:computername

짧은 형식:

gc env:computername

17
supershort : $ env : COMPUTERNAME
Ross Presser

이름이 15자를 초과하는 서버가 될 때까지 잘 작동합니다.
게리 펜들 버리

@GaryPendlebury 그러면 어떻게 될까요?
Sajuuk

@Sajuuk computername은 NetBIOS 이름이며 15 자로 제한됩니다.
Gary Pendlebury

14

위의 모든 질문은 정확하지만 호스트 이름과 도메인 이름을 원하면 다음을 시도하십시오.

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

4

로컬 FQDN에 대한 @ CPU-100의 답변에 약간의 조정이 있습니다.

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



0

Powershell의 박쥐 파일 코드 아날로그

Cmd

wmic path Win32_ComputerSystem get Name

파워 쉘

Get-WMIObject Win32_ComputerSystem | Select-Object -ExpandProperty name

그리고 ...

hostname.exe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.