HIRO's.NET Blog

PowerShellが好き

目次

Blog 利用状況

ニュース

あわせて読みたい

書庫

日記カテゴリ

リンク

ホスト名とIPアドレスの相互変換をする(PowerShell Tips)

今日は、PowerShellでホスト名とIPアドレスを相互変換する関数を作ってみました。

まずはIPアドレスからホスト名を取得する関数です

Get-HostByName.ps1

#===============================================================================
# Get-HostByName: IPアドレスからホスト名を取得する
#
# 使用例
#   PS > Get-HostByName 10.84.5.10
#
# copyright HIRO's.NET(http://hiro.wankuma.com/)
#===============================================================================
[void][reflection.assembly]::LoadWithPartialName("System.Net")
function global:Get-HostByName
{
  Param ([string]$IPAddress)
  
  $hostEntry = New-Object System.Net.IPHostEntry
  $hostEntry = [System.Net.Dns]::GetHostEntry($IPAddress)
  
  return $hostEntry.HostName
}

 

ポイント

IPアドレスからホスト名を取得するのに、System.Net.DnsのGetHostEntryメソッドを使用しています。

HostEntry情報を取得したら、その中のHostNameプロパティを参照し、ホスト名を取得します。

 

次にホスト名からIPアドレスを取得する関数です。

Get-HostByAddress.ps1

#===============================================================================
# Get-HostByAddress: ホスト名からIPアドレスを取得する
#
# 使用例
#   PS > Get-HostByAddress "www.yahoo.co.jp"
#
# copyright HIRO's.NET(http://hiro.wankuma.com/)
#===============================================================================
[void][reflection.assembly]::LoadWithPartialName("System.Net")
function global:Get-HostByAddress
{
  Param ([string]$HostName)
  
  $hostEntry = New-Object System.Net.IPHostEntry
  $hostEntry = [System.Net.Dns]::GetHostEntry($HostName)
  
  return $hostEntry.AddressList[0].IPAddressToString
}

 

ポイント

こちらもSystem.Net.DnsのGetHostEntryメソッドを使用しています。

HostEntry情報を取得したら、その中のAddressList(配列で返されます)を取得し、IPAddressToString でIPアドレスのみを取得しています。



 

投稿日時 : 2008年2月19日 17:44

コメントを追加

No comments posted yet.
タイトル
名前
URL
コメント