Відповіді:
Ви можете просто скористатися методом .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