You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将PSCustomObject的License多成员输出为CSV单单元格多行格式?

编辑补充

我认为找到了更优的实现方式,希望能帮到大家:

![优化后输出格式示例]

使用代码

$licenseSearchTerm = 'dyn'
$arrayResults = @()

foreach ($userWithLicense in $usersWithLicense[333..384]) {
    $userLicenses = $userWithLicense | Get-AzureADUserLicenseDetail

    if ( $userLicenses | Where-Object { $_.SkuPartNumber -match $licenseSearchTerm } ) {
        $results = [PSCustomObject]@{
            User = $userWithLicense.UserPrincipalName
            License   = $userLicenses.SkuPartNumber | Select-Object -First 1
        }
        $arrayResults += $results

        $userLicenses[1..$userLicenses.Count] | ForEach-Object {
            $results = [PSCustomObject]@{
                License= $_.SkuPartNumber
            }
            $arrayResults += $results
        }
    }
}

原问题

以下代码导出Azure AD用户许可证到CSV文件时,输出格式不符合需求:

$licenseSearchTerm = 'license'
$arrayResults = @()

foreach ($userWithLicense in $usersWithLicense[383..384]) {

    $userLicenses = $userWithLicense | Get-AzureADUserLicenseDetail

    if ( $userLicenses | Where-Object { $_.SkuPartNumber -match $licenseSearchTerm } ) {

        $results = [PSCustomObject]@{
            User = $userWithLicense.UserPrincipalName
            License   = $userLicenses.SkuPartNumber 
        }

        $arrayResults += $results
    }
}

# $arrayResults  | ConvertTo-Csv -NoTypeInformation

$arrayResults | Export-Csv -Path $env:USERPROFILE\Desktop\licenses.csv -NoTypeInformation

当前导出的CSV显示如下:
![当前CSV输出格式示例]

期望实现如下格式的输出:
![期望CSV输出格式示例]

$userLicenses.SkuPartNumber对象包含多个成员,控制台中每行显示一个成员。尝试$userLicenses.SkuPartNumber -join ', '和$userLicenses.SkuPartNumber -join [Environment]::NewLine均无法达到预期效果,请问如何实现目标格式?


内容的提问来源于stack exchange,提问作者colonel_claypoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 10:08:16