在 Powershell 中向 headers 添加多个值
Add multiple values to headers in Powershell
我有一些代码,通过几个 foreach 循环运行。
foreach ($Result in $ResultsCollection)
{
$Result.Get()
[xml]$sdmPackageXml = New-Object system.Xml.XmlDocument
$sdmPackageXml.LoadXml($Result.Properties["SDMPackageXML"].Value)
Write-host "########"
write-host "LocalizedDisplayName = " $Result.LocalizedDisplayName
write-host "PackageID = " $Result.PackageID
write-host "CI_ID = " $Result.CI_ID
write-host "SoftwareVersion = " $Result.SoftwareVersion
write-host "Number of Deployment Types = " $Result.NumberOfDeploymentTypes
foreach ($node in $sdmPackageXml.AppMgmtDigest.DeploymentType)
{
write-host " DT Name = " $node.LogicalName
foreach ($requirement in $node.Requirements)
{
foreach ($rule in $requirement.Rule)
{
write-host " Rule = " $requirement.Rule.Annotation.DisplayName.Text
}
}
}
write-host ""
}
我想添加一些 headers,以便它可以轻松导出到 .csv 文件,如下所示:
如何最容易实现?
我尝试使用数组和哈希表,但我无法真正做到这一点。
非常感谢feedback/help!
您可以创建一个自定义对象,将其添加到每个 foreach 循环中的数组中。对最后一个 foreach 循环执行此操作,例如
$objarray = @() #clear objarray on every run
foreach ($rule in $requirement.Rule)
$objArray += [PSCustomObject]@{
'LocalizedDisplayName' = $Somevalue
'PackageId' = $someothervalue
}
}
$objarray #Display table
我有一些代码,通过几个 foreach 循环运行。
foreach ($Result in $ResultsCollection)
{
$Result.Get()
[xml]$sdmPackageXml = New-Object system.Xml.XmlDocument
$sdmPackageXml.LoadXml($Result.Properties["SDMPackageXML"].Value)
Write-host "########"
write-host "LocalizedDisplayName = " $Result.LocalizedDisplayName
write-host "PackageID = " $Result.PackageID
write-host "CI_ID = " $Result.CI_ID
write-host "SoftwareVersion = " $Result.SoftwareVersion
write-host "Number of Deployment Types = " $Result.NumberOfDeploymentTypes
foreach ($node in $sdmPackageXml.AppMgmtDigest.DeploymentType)
{
write-host " DT Name = " $node.LogicalName
foreach ($requirement in $node.Requirements)
{
foreach ($rule in $requirement.Rule)
{
write-host " Rule = " $requirement.Rule.Annotation.DisplayName.Text
}
}
}
write-host ""
}
我想添加一些 headers,以便它可以轻松导出到 .csv 文件,如下所示:
如何最容易实现?
我尝试使用数组和哈希表,但我无法真正做到这一点。
非常感谢feedback/help!
您可以创建一个自定义对象,将其添加到每个 foreach 循环中的数组中。对最后一个 foreach 循环执行此操作,例如
$objarray = @() #clear objarray on every run
foreach ($rule in $requirement.Rule)
$objArray += [PSCustomObject]@{
'LocalizedDisplayName' = $Somevalue
'PackageId' = $someothervalue
}
}
$objarray #Display table