在PoSH 4.0中读取文件内容时展开Hash变量

时间:2014-03-14 10:16:04

标签: powershell hashtable powershell-v3.0 powershell-v4.0

我有一个xml文件,我已经定义了一些HashTable变量,当我在运行时读取内容时,应该解析它们。

XML文件

<variable>
    <clientname>$($hfinfo.hf)</clientname>
</variable>

它在Powershell 2.0中工作,下面的代码片段。

PowerShell 2.0

$hash=@{};
$hash.add("hf","HFDetail_Random_Name")
[xml]$xmlcontent=[xml]($ExecutionContext.InvokeCommand.ExpandString((Get-Content ($xmlFilePath))))

Powershell 4.0

在PoSH 4.0中,当我执行相同的命令时,我收到错误

Exception calling "ExpandString" with "1" argument(s): "Object reference not set to an instance of an object."

1 个答案:

答案 0 :(得分:0)

您需要使用以下方法:

[xml] $ xmlcontent = [xml]($ ExecutionContext.InvokeCommand。 InvokeScript ((Get-Content($ xmlFilePath))))