回答:
.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文字に制限されています。
ローカルFQDNについて、@ CPU-100の回答を少し調整します。
[System.Net.DNS]::GetHostByName($Null).HostName
PowerShell Core v6(macOS、LinuxおよびWindowsで動作):
[Environment]::MachineName
[System.Net.Dns]::GetHostName()
(切り捨てない)は$env:COMPUTERNAME
(切り捨て)より優れています