Как получить имя локального хоста в PowerShell?


181

Как получить имя локального хоста (машины) в PowerShell? Я использую PowerShell 1.0.

Ответы:


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 символ: 1 + env: COMPUTERNAME + ~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (env: COMPUTERNAME: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
mathisfun

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
суперскорость: $ env: COMPUTERNAME
Росс Прессер

Это будет работать нормально, пока у вас не будет сервера с именем длиннее 15 символов.
Гэри Пендлбери

@GaryPendlebury что будет потом?
Sajuuk

@Sajuuk computername- это имя NetBIOS, которое ограничено 15 символами.
Гэри Пендлбери,

14

Все приведенные выше вопросы верны, но если вы хотите, чтобы имя хоста и имя домена, попробуйте это:

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



0

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

Cmd

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.