如何在Powershell中格式化多个条目

如何在Powershell中格式化多个条目,powershell,active-directory,Powershell,Active Directory,我正在使用以下代码获取Powershell中的直接下属列表: import-module activedirectory $identity = read-host "Enter username:" Get-ADUser $identity -Properties directReports | select-object {$_.directReports} | export-csv "DirectReports-$identity.csv" 这会将所有直接报告输出到一行,例如“CN=

我正在使用以下代码获取Powershell中的直接下属列表:

import-module activedirectory

$identity = read-host "Enter username:"

Get-ADUser $identity -Properties directReports | select-object {$_.directReports} | export-csv "DirectReports-$identity.csv"
这会将所有直接报告输出到一行,例如“CN=User1,CN=User2,CN=User3”


我如何修改它,以便将每个用户输出到自己的行?

我确信这不是最干净的解决方案:

Get-ADUser $identity -Properties directReports | select-object -expandproperty directReports|foreach-object{$_.split(",")[0].replace("CN=","")}| export-csv "DirectReports-$identity.csv"

您将在CSV文件中自己的行中获得每个人的姓名(仅限)。

我既没有使用也没有看到过
directReports
属性,但听起来您想这样做?这似乎删除了逗号,但它们仍然输出到同一行。您不仅仅从directReports中获得姓名?不,它将所有姓名放在同一行,只是这一次,它们之间没有逗号。糟糕的是,我没有注意到它包含多个CN项,以为它是一个DN。答案已更新。抱歉,这将生成一个空白的csv文件
Get-ADUser $identity -Properties directReports | 
Select-Object Name,@{n='DirectReports';e={$_.directReports.Split(',CN=',[System.StringSplitOptions]::RemoveEmptyEntries) -join ';'}} | 
Export-Csv "DirectReports-$identity.csv"