我正在PowerShell中创建一个新对象,使用哈希表来设置属性值。然后,我想使用ConvertTo-XML方法将对象导出为XML格式。$hash=@{Processor='Intel'Disk='500GB'Server='ABC'Serial='01234'}$specs=New-ObjectPSObject-Property$hashWrite-Output($specs|ConvertTo-XML-notypeinformation).Save("C:\scripts\export.xml")XML输出如下:a1b2c3ABCIntel500GB我想要的是按照以下方式格式化XM
注意:我正在使用ConvertTo-XML并且不能使用Export-Clixml:我创建了一个简单的PSObject:$a=New-ObjectPSObject-Property@{Name='New'Server=$nullDatabase=$nullUserName=$nullPassword=$null}然后我使用ConvertTo-XML将其转换为XML:$b=$a|Convertto-XML-NoTypeInformationXML看起来像这样:New我在弄清楚点符号或XPath查询以提取属性/元素并将$b转换回原始PSObject时遇到问题。 最
例如,我有一个具有两个属性的PSObject事务:id和transactionName,因此它看起来像:交易{编号:123交易名称:tranName1如果交易名称为tranName1,我想返回交易ID。在我看来,在powershell脚本中,我们可以简单地做:if$transaction.transactionName-eqtranNamereturn$transaction.id但是在c#中它会出错,因为它无法通过名称识别属性...有什么想法如何在c#中做到这一点吗? 最佳答案 尝试这样的事情:psobjectvariable.P
托管PowerShell运行时时,是否可以通过某种方式将PSObject转换回其原始类型?例如:我有一个调用WriteObject并在管道中推送ClassXzy集合的cmdlet。当我从事物的主机端调用PowerShell.Invoke时,我检索了一个具有BaseObject属性的PSObject集合。将BaseObject转换为ClassXyz失败。有没有办法将每个属性值映射到其对应的原始对象?我假设PowerShell以某种方式执行此操作,因为您可以将PSObject传递给cmdlet,它们会被转换为参数类型。但是怎么办?我花了很多时间使用Reflector研究PS组件,但还没有真