Odpowiedzi:
Możesz po prostu użyć metody .NET Framework:
[System.Net.Dns]::GetHostName()
również
$env:COMPUTERNAME
$env:COMPUTERNAME
działa dobrze na Windows 10 (proszę zwrócić uwagę na znak dolara na początku)
$env:COMPUTERNAME
nie będzie działać w systemie Linux i macOS. Jednak [Environment]::MachineName
tak.
Nie zapominaj, że wszystkie stare narzędzia konsoli działają dobrze w PowerShell:
PS> hostname
KEITH1
Długa forma:
get-content env:computername
Skrócona forma:
gc env:computername
computername
to nazwa NetBIOS, która jest ograniczona do 15 znaków.
Drobne poprawki w odpowiedzi @ CPU-100 dla lokalnej nazwy FQDN:
[System.Net.DNS]::GetHostByName($Null).HostName
W PowerShell Core v6 (działa na macOS, Linux i Windows):
[Environment]::MachineName
[System.Net.Dns]::GetHostName()
(nie obcina się) jest lepsza niż$env:COMPUTERNAME
(obcina)