【问题标题】:Convert custom powershell object to XML file将自定义 powershell 对象转换为 XML 文件
【发布时间】:2023-03-25 18:59:01
【问题描述】:
$cominfo = [pscustomobject]@{

                    HostID         = $Computer

                    prodinfo     = $DisplayName

                    version      = $Version

                    InstallDate     = $Date

                    Producer       = $Publisher

                    UninstallString = $UninstallString

                    InstallLocation = $InstallLocation

                    InstallSource   = $InstallSource

                    HelpLink        = $HelLink

                    EstimatedSizeMB = [decimal]([math]::Round(($thisSubKey.GetValue('EstimatedSize') * 1024) / 1MB, 2))

                  } 

                  if(Test-Path -path '.\AssetManagement.xml'){
                    $xml = import-clixml -Path '.\AssetManagement.xml'  
                  }
                  $xml += $cominfo | select *
                  Export-Clixml -Path '.\AssetManagement.xml' -InputObject $xml

                  $cominfo.pstypenames.insert(0, 'System.Software.Inventory')

                  Write-Output $cominfo

上面的代码片段显示了自定义对象组件以及随后转换为 XML 并保存/附加到现有 XML 文件(如果文件存在)的尝试,特别是,

  if(Test-Path -path '.\AssetManagement.xml'){
                    $xml = import-clixml -Path '.\AssetManagement.xml'  
                  }
                  $xml += $cominfo | select *
                  Export-Clixml -Path '.\AssetManagement.xml' -InputObject $xml

是我一直遇到问题的代码片段。我绝不是 powershell 专家,这是我个人的家庭资产管理。我尝试了在网上找到的几个变体,这个 sn-p 是最后一个,但没有一个实现目标。

我在这里搜索并尝试过的所有方法都没有像我预期的那样生成单个 XML 文件,但我总是得到按预期显示的输出。我希望这里有人可以帮助我将每个自定义对象输出到 xml 文件(必要时创建文件,否则附加到现有文件),而不仅仅是显示提示。

我确实尝试过诸如“测试测试一二三”之类的东西 | export-clixml '.\testing.xml' 并且这些命令按预期工作,所以我知道我的系统应该允许将这些文件写入当前目录,只是不确定为什么它不适用于该自定义 powershell 对象输出...... ....

【问题讨论】:

  • convertto-xml -?
  • 另外,请参阅 Export-CliXml。

标签: xml powershell save


【解决方案1】:

当你尝试做时会发生什么

$comInfoObj | Export-Clixml comInfoObj.xml

是创建comInfoObj.xml文件还是报错?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 2014-01-09
    相关资源
    最近更新 更多