Як отримати ім'я localhost в PowerShell?


Відповіді:


260

Ви можете просто скористатися методом .NET Framework:

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

також

$env:COMPUTERNAME


5
Примітка: якщо ваше ім'я DNS більше 15 символів, [System.Net.Dns]::GetHostName()(не $env:COMPUTERNAME
врізається

У Windows 10 Enterprise, env: COMPUTERNAME видала таку помилку: env: COMPUTERNAME: Термін "env: COMPUTERNAME" не розпізнається як ім'я командлету, функції, файлу сценарію чи операційної програми. Перевірте написання імені або якщо шлях включений, перевірте, чи правильний шлях, і спробуйте ще раз. У рядку: 1 char: 1 + env: COMPUTERNAME + ~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (env: COMPUTERNAME: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
math

2
@mathisfun $env:COMPUTERNAMEчудово працює у Windows 10 (зверніть увагу на знак долара на початку)
oleksa

$env:COMPUTERNAMEне працюватиме на Linux та macOS. Однак [Environment]::MachineNameробить.
felixfbecker

62

Не забувайте, що всі ваші старі утиліти консолі працюють чудово в PowerShell:

PS> hostname
KEITH1

Це хороша відповідь, проте якщо ви хочете зберегти значення у змінній, тоді використовуйте прийняту відповідь.
Явар Муртаза

37

Довга форма:

get-content env:computername

Коротка форма:

gc env:computername

17
supershort: $ env: COMPUTERNAME
Ross Presser

Це буде добре працювати, поки у вас не з’явиться сервер, ім'я якого перевищує 15 символів.
Гері Пендлбері

@GaryPendlebury, що буде потім?
Саджук

@Sajuuk computername- ім'я NetBIOS, яке обмежено 15 символами.
Гері Пендлбері

14

Усі вищезазначені питання правильні, але якщо ви хочете ім'я хоста та доменне ім'я, спробуйте це:

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



0

Аналог коду файлу bat в Powershell

См

wmic path Win32_ComputerSystem get Name

Powershell

Get-WMIObject Win32_ComputerSystem | Select-Object -ExpandProperty name

і ...

hostname.exe
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.