私は、コマンドレットに渡す必要のあるパラメータを保持するXMLファイルからハッシュテーブルを作成する簡単な関数を書きました。 私のXML-ファイルは、次のようになります。Powershell:スクリプトブロックでスプラットを使用していますか?
My機能は、このようになります<params>
<Parameter>
<Name>After</Name>
<Value>(get-date).adddays(-7)</Value>
</Parameter>
<Parameter>
<Name>Log</Name>
<Value>System</Value>
</Parameter>
</params>
:
PS > $h = create-paramtable -configfile c:\tmp\params.xml ; get-eventlog @h
I:私は、スプラット・オペレーターでハッシュテーブルを返して使用してい
function Create-ParamTable {
param ([string]$ConfigFile,[string]$Root = "params", [string]$Child = "Parameter")
$hash = @{}
[xml]$config = get-content $ConfigFile
foreach ($param in $config.$root.$child) {
$hash.add($param.name,$param.value)
}
return $hash
}
get-dateのような他のコマンドレットを使用していくつかの値を計算するためにscriptblocksをパラメータ値として渡すことができるようにしたい。
例:get-eventlogのパラメータをxml-config-fileに保存したいが、過去7日間のログを常に保持したい。
スプラットを介してコマンドレットに渡すときに値を格納する必要がありますか?