Powershellで、スクリプト本体のディレクトリー、ホスト名、IPアドレスの取得

シェアする

スクリプトを多数のコンピューターに展開した場合に、ログに記録する定番の情報として、コンピューター名、IPアドレスなどがあると思います。 いつもスクリプトの冒頭で変数に代入することになるので、簡単にまとめておきたいと思います。

#自ホスト名
[String] $MyHostname = [Net.Dns]::GetHostName()

# 自身のIPアドレス(通常複数あるのでString配列がかえってくる)
[String[]] $MyIPs = [Net.Dns]::GetHostAddresses('').IPAddressToString

# スクリプト本体のパス
[String] $MyScriptDirectory = Split-Path $MyInvocation.MyCommand.Path -Parent

# スクリプト名
[String] $MyScriptName = Split-Path $MyInvocation.MyCommand.Path -Leaf

# Windowsログオンユーザー名
[String] $UserName = [System.Environment]::UserDomainName + `\` + [System.Environment]::UserName

# OSバージョン
[String] $OSVersion = [System.Environment]::OSVersion.Version.ToString()

# アーキテクチャー
[String] $OSArch = $Env:PROCESSOR_ARCHITECTURE