在 PowerShell 中獲取本地主機名稱
- 在 PowerShell 中使用舊命令獲取本地主機名稱
- 在 PowerShell 中使用環境變數獲取 localhost 名稱
- 在 PowerShell 中使用 .NET Framework 庫獲取 Localhost 名稱
- 在 PowerShell 中使用 Windows Management Instrumentation 獲取 localhost 名稱
本地主機是一個技術術語,我們通常用來定義主機名,它指的是當前用於訪問它的裝置。因此,會出現我們需要查詢本地機器當前名稱的情況。
本文將介紹幾種使用 Windows PowerShell 獲取計算機 localhost 名稱的方法。
在 PowerShell 中使用舊命令獲取本地主機名稱
許多舊的命令提示符 (CMD) 命令在 Windows PowerShell 指令碼環境中工作。PowerShell 環境使用別名從舊環境中傳遞這些命令。
這方面的一個例子是命令 hostname
。執行命令提示符時,命令 hostname
將返回本地計算機的名稱。
示例程式碼:
hostname
輸出:
WINDOWS-PC01
在 PowerShell 中使用環境變數獲取 localhost 名稱
獲取本地計算機的 localhost 名稱的另一種方法是在 PowerShell 中呼叫我們的一個環境變數。環境變數,由 Windows PowerShell 中的 Env:
描述,儲存作業系統環境和程式。
此資訊詳細資訊包括活動系統路徑、Windows 安裝目錄的位置、作業系統使用的程序數等等。
對於這種特定情況,我們可以使用環境變數 Env:COMPUTERNAME
來呼叫我們機器的本地主機名。
Get-Content Env:COMPUTERNAME
在上面的示例中,我們使用 Get-Content
cmdlet 來獲取環境變數的值。我們可以通過將環境變數轉換為 Windows PowerShell 變數來簡化此操作。
$Env:COMPUTERNAME
上面的兩組程式碼應該產生相同的輸出,這將是你正在使用的當前機器的本地主機名稱。
在 PowerShell 中使用 .NET Framework 庫獲取 Localhost 名稱
在 Windows PowerShell 中,.NET Framework 的庫包含它自己的一組命令,我們可以在指令碼中呼叫這些命令。此外,.NET Framework 中的幾個命令在列印計算機的本地主機名稱方面實現了相同的目標。
[System.Net.Dns]::GetHostName()
[Environment]::MachineName
如果 Windows PowerShell 中有可用的本機命令,通常不鼓勵在生產環境中使用 .NET 框架庫,但我們可以為這個特定用例提供一個例外。
如果你加入了域,你的 DNS 名稱將比僅加入本地工作組的 localhost 機器名稱長得多。
因此,如果你的 DNS 名稱超過 15 個字元,則輸出值不會被截斷的 [System.Net.Dns]::GetHostName()
優於 $env:COMPUTERNAME
,後者將修剪輸出.
在 PowerShell 中使用 Windows Management Instrumentation 獲取 localhost 名稱
Windows Management Instrumentation 或 WMI 是在基於 Windows 的作業系統上管理資料和操作的基礎結構。
WMI 最常用於基於 Windows 的應用程式中,並且在管理指令碼中最有用,包括基本功能,例如列印本地計算機的 localhost 名稱的值。
Get-WMIObject Win32_ComputerSystem | Select-Object -ExpandProperty Name
Get-WMIObject
cmdlet 包含多個本地計算機資訊,例如計算機的製造商、域和型號。此外,僅通過管道將其匯出 Name
屬性將返回本地計算機的 localhost 名稱值。
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn