Ответы:
Вы можете просто использовать метод .NET Framework:
[System.Net.Dns]::GetHostName()
также
$env:COMPUTERNAME
$env:COMPUTERNAME
отлично работает на Windows 10 (обратите внимание на знак доллара в начале)
$env:COMPUTERNAME
не будет работать на Linux и MacOS. Тем [Environment]::MachineName
не менее, делает.
Не забывайте, что все ваши старые консольные утилиты прекрасно работают в PowerShell:
PS> hostname
KEITH1
Длинная форма:
get-content env:computername
Короткая форма:
gc env:computername
computername
- это имя NetBIOS, которое ограничено 15 символами.
Небольшая настройка ответа @ CPU-100 для локального FQDN:
[System.Net.DNS]::GetHostByName($Null).HostName
В PowerShell Core v6 (работает на macOS, Linux и Windows):
[Environment]::MachineName
[System.Net.Dns]::GetHostName()
(не$env:COMPUTERNAME