PowerShellのスクリプトで設定ファイルを読み込む方法

toc目次

はじめに

PowerShellのスクリプトファイルで設定ファイルを読み込む方法のメモです。

設定ファイル(JSON形式)を読み込む

設定ファイル(JSON形式)を読み込むにはConvertFrom-Jsonコマンドレットを使用します。

# 設定ファイルのパス
$configFilePath = "config.json"

# 設定ファイルを読み込む
$config = Get-Content -Path $configFilePath -Raw | ConvertFrom-Json

# 内容確認
Write-Host "設定ファイルから読み込んだ値:"
Write-Host "Host: $($config.Database.Host)"
Write-Host "Port: $($config.Database.Port)"
Write-Host "User: $($config.Database.User)"
Write-Host "Password: $($config.Database.Password)"

読み込む設定ファイル(JSON形式)

{
  "Database": {
    "Host": "localhost",
    "Port": 3306,
    "User": "username",
    "Password": "password"
  }
}

スクリプト(sample.ps1)を実行した結果は以下のとおりです。

設定ファイルから読み込んだ値:
Host: localhost
Port: 3306
User: username
Password: password

設定ファイル(INI形式)を読み込む

設定ファイル(INI形式)を読み込むにはConvertFrom-StringDataコマンドレットを使用します。

# 設定ファイルのパス
$configFilePath = "config.ini"

# 設定ファイルを読み込む
$config = Get-Content -Path $configFilePath -Raw | ConvertFrom-StringData

# 内容確認
Write-Host "設定ファイルから読み込んだ値:"
Write-Host "Host: $($config.Host)"
Write-Host "Port: $($config.Port)"
Write-Host "User: $($config.User)"
Write-Host "Password: $($config.Password)"

読み込む設定ファイル(INI形式)

Host=localhost
Port=3306
User=username
Password=password

スクリプト(sample2.ps1)を実行した結果は以下のとおりです。

設定ファイルから読み込んだ値:
Host: localhost
Port: 3306
User: username
Password: password

参考