2010年12月10日金曜日

◆IPアドレスとホスト名の相互変換を行う

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037

<#
.SYNOPSIS
  IPアドレスとホスト名の相互変換を行う。
.DESCRIPTION
  IPアドレスが引数に渡された場合はホスト名を、ホスト名が渡された場合は
  IPアドレスを返す。
.LINK
  $link$
.EXAMPLE
  mTrans-IP 172.16.65.29
.EXAMPLE
  mTrans-IP vista3
#>
 
param
( 
 
[string]$hostaddr
 
) 

function main
{ 
 
trap
{ 
   
Write-Warning ホスト又はアドレスが見つかりません;exit
 
  } 
 
if(isIpAddress($hostaddr
)){ 
    (
[Net.Dns]::GetHostByAddress($hostaddr)).
hostname 
  }
else
{ 
    (
[Net.Dns]::GetHostByName($hostaddr) |
 
     
select -ExpandProperty AddressList).
IpAddressToString 
     
  } 
}


function isIPAddress($IPHost) { 
#if($object){$object}else{"Null"}
  ($IPHost -as [System.Net.IPAddress]).IPAddressToString -eq $IPHost -and
 
  (
$IPHost -ne $null
) 
  #
Write-Host

}


. main

0 件のコメント:

コメントを投稿