shine-Notes

ゆるふわ思考ダンプ

PowerShellの設定をxmlに書いた

【サマリ】
xmlファイルの設定を読ませる時はWrite-HostではなくWrite-OutPut
xmlの中身に""は必要なし

【詳細】


SQL Serverのバックアップを最初ps1に直書きで作ったのだけど、いくらps1クソ初心者でもこれは流石にイケてねぇなと思い
xmlを設定ファイル的に使おうと考えた。

$filename = ".\sql\sql_conf.xml" 
$conf_info = [xml](Get-Content $filename) 
$YourServerName=Write-Host $conf_info.config.YourServerName.value 

しかし、なーんかうまくいかない。どうやら変数にちゃんと設定が入ってないっぽい。
もしかして、と思い

$YourServerName=Write-Output $conf_info.config.YourServerName.value 


これでちゃんと入った。なるほどWrite-Hostでは駄目なのか。

続いてxmlの中身がなんか読めないなーと思ったら、
xmlの中身は""いらないのね… 外したら上手く行った。

<?xml version="1.0"?> 
<config> 
<YourServerName> 
<name>"YourServerName"</name> 
<value>"Win2012"</value> 
</YourServerName> 
<TargetDBName> 
<name>"TargetDBName"</name> 
<value>"NorthWind"</value> 
</TargetDBName> 
</config> 

【参考にしたURL】
Write-HostとWrite-Outputの違い - しばたテックブログ
PowerShellからXML形式の設定ファイルの情報を読み込む - YOMON8.NET

以上