使用带有布尔值的Export-CLixml

时间:2017-11-16 12:36:46

标签: powershell

我尝试使用以下代码将布尔值导出到CliXML:

[bool]$test = $true | Export-Clixml -Path C:\test.clxml

返回错误:Cannot convert value "System.Management.Automation.PSCustomObject" to Type "System.Boolean".

我可以将字符串导出到CliXML:

[string]$test = 'true' | Export-Clixml -Path C:\test.clxml

布尔示例有什么问题?

1 个答案:

答案 0 :(得分:0)

Export-CliXml不会返回任何对象。它会将您的输入转换为文件。

当您将管道分配给变量时,您将获得链中最后一项的结果(在这种情况下,不返回$Null或空值)

工作示例:

$Test = $True
$Test | Export-CliXml -Path 'C:\test.xml'

$Test = 'true'
$Test | Export-CliXml -Path 'C:\test.xml'

此外,手动定义像您一样的变量类型是不必要的和坏的风格。解释器足够聪明,可以知道类似的直接分配类型。如果你想尝试打字,最好在另一边做。

e.g。

$Test = [String]$True

在您的特定用例中,似乎Export-CliXml 返回[PSCustomObject],但您的变量分配为[Bool],它是&#39}没有输入它。