我尝试使用以下代码将布尔值导出到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
布尔示例有什么问题?
答案 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}没有输入它。