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:COMPUTERNAMEhoạt động tốt trên Windows 10 (vui lòng lưu ý ký hiệu đô la ngay từ đầu)
$env:COMPUTERNAMEsẽ không hoạt động trên Linux và macOS. Tuy nhiên, [Environment]::MachineNamekhô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
computernamelà 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)