PowerShell でローカルホスト名を取得する
- PowerShell のレガシーコマンドを使用してローカルホスト名を取得する
- PowerShell の環境変数を使用してローカルホスト名を取得する
- PowerShell の.NETFramework ライブラリを使用してローカルホスト名を取得する
- PowerShell で Windows Management Instrumentation を使用してローカルホスト名を取得する
Localhost は、アクセスに使用される現在のデバイスを参照するホスト名を定義するために通常使用する技術用語です。したがって、ローカルマシンの現在の名前を照会する必要がある場合があります。
この記事では、Windows PowerShell を使用してコンピューターのローカルホスト名を取得するいくつかの方法について説明します。
PowerShell のレガシーコマンドを使用してローカルホスト名を取得する
多くの従来のコマンドプロンプト(CMD)コマンドは、Windows PowerShell スクリプト環境で機能します。PowerShell 環境は、エイリアスを使用してこれらのコマンドをレガシー環境から転送します。
この一例は、コマンド hostname
です。コマンド hostname
は、コマンドプロンプトを実行するときにローカルコンピュータの名前を返します。
サンプルコード:
hostname
出力:
WINDOWS-PC01
PowerShell の環境変数を使用してローカルホスト名を取得する
ローカルマシンのローカルホスト名を取得する別の方法は、PowerShell で環境変数の 1つを呼び出すことです。Windows PowerShell の Env:
で示される環境変数は、オペレーティングシステムの環境とプログラムを格納します。
この情報の詳細には、アクティブなシステムパス、Windows インストールディレクトリの場所、オペレーティングシステムによって使用されるプロセスの数などが含まれます。
この特定の状況では、環境変数 Env:COMPUTERNAME
を使用して、マシンのローカルホスト名を呼び出すことができます。
Get-Content Env:COMPUTERNAME
上記の例では、Get-Content
コマンドレットを使用して環境変数の値を取得しました。環境変数を Windows PowerShell 変数に変換することで、これを単純化できます。
$Env:COMPUTERNAME
上記の両方のコードセットは同じ出力を生成するはずです。これは、現在使用しているマシンのローカルホスト名になります。
PowerShell の.NETFramework ライブラリを使用してローカルホスト名を取得する
Windows PowerShell では、.NET Framework には、スクリプトで呼び出すことができる独自のコマンドセットを含むライブラリがあります。さらに、.NET Framework のいくつかのコマンドは、コンピューターのローカルホスト名を出力するという同じ目標を達成します。
[System.Net.Dns]::GetHostName()
[Environment]::MachineName
Windows PowerShell で使用可能なネイティブコマンドがある場合、通常、.NET Framework ライブラリの使用は本番環境での使用をお勧めしませんが、この特定の使用例には例外を設けることができます。
ドメインに参加している場合、DNS 名は、ローカルワークグループにのみ参加しているローカルホストマシン名よりもはるかに長くなります。
したがって、DNS 名が 15 文字より長い場合、出力値が切り捨てられない [System.Net.Dns]::GetHostName()
は、出力をトリミングする $env:COMPUTERNAME
よりも優れています。
PowerShell で Windows Management Instrumentation を使用してローカルホスト名を取得する
Windows Management Instrumentation(WMI)は、Windows ベースのオペレーティングシステムでの管理データと操作のためのインフラストラクチャです。
WMI は、Windows ベースのアプリケーションで最も一般的に使用され、ローカルマシンのローカルホスト名の値の出力などの重要な機能を含む管理スクリプトで最も役立ちます。
Get-WMIObject Win32_ComputerSystem | Select-Object -ExpandProperty Name
Get-WMIObject
コマンドレットは、コンピューターの製造元、ドメイン、モデルなどの複数のローカルマシン情報を保持します。さらに、Name
プロパティをエクスポートするためだけにパイプすると、ローカルマシンのローカルホスト名の値が返されます。
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn