Windows7
ちょっと.NETのAPIの確認をしたいだけなので、スクリプトでSystem.Net.Dnsクラスのメソッドを呼び出したかったり。
GetHostNameでホスト名を表示
「[クラス]::メソッド」という書き方で記述する。クラスは基本的にフルネーム。
PS > [System.Console]::WriteLine("Computer Name : " + [System.Net.Dns]::GetHostName()) Computer Name : HOGEHOGE
GetHostByAddressでIPHostEntryオブジェクトを取得
$変数名はPowerShellと同じ。
PS > $hostentry = [System.Net.Dns]::GetHostByAddress("xxx.yyy.zzz.111")
GetHostByAddressの戻り値の型を表示
$hostentry(IPHostEntryオブジェクト)のメソッドから取得。
PS > [System.Console]::WriteLine("GetHostByAddress Return Type : " + $hostentry.getType()) GetHostByAddress Return Type : System.Net.IPHostEntry
IPHostEntryオブジェクトからホスト名を取得
$hostentry(IPHostEntryオブジェクト)のメンバから取得。
PS > [System.Console]::WriteLine("Computer Name :" + $hostentry.HostName) Computer Name : FUGAFUGA
スクリプトファイルの実行
スクリプトファイル(.ps1)を実行する場合は、PowerShellを管理者モードで開いて、スクリプト実行ポリシーを設定(Set-ExecutionPolicy)してから実行する必要がある。
■参考
Windows PowerShell 活用編(5) .NET Framework利用の基礎 (1/3):CodeZine
Windows PowerShellコマンド&スクリプティング入門(後編) − @IT