Câu trả lời:
Bạn chỉ có thể sử dụng phương thức .NET Framework:
[System.Net.Dns]::GetHostName()
cũng thế
$env:COMPUTERNAME
$env:COMPUTERNAME
hoạt động tốt trên Windows 10 (vui lòng lưu ý ký hiệu đô la ngay từ đầu)
$env:COMPUTERNAME
sẽ không hoạt động trên Linux và macOS. Tuy nhiên, [Environment]::MachineName
không.
Đừng quên rằng tất cả các tiện ích bảng điều khiển cũ của bạn chỉ hoạt động tốt trong PowerShell:
PS> hostname
KEITH1
Hình thức dài:
get-content env:computername
Hình thức ngắn:
gc env:computername
computername
là tên NetBIOS, được giới hạn trong 15 ký tự.
Một điều chỉnh nhỏ về câu trả lời của @ CPU-100, cho FQDN cục bộ:
[System.Net.DNS]::GetHostByName($Null).HostName
Trong PowerShell Core v6 (hoạt động trên macOS, Linux và Windows):
[Environment]::MachineName
[System.Net.Dns]::GetHostName()
(không cắt ngắn) sẽ tốt hơn$env:COMPUTERNAME
(cắt ngắn)