我有一个包含两列的CSV文件;身份和用户。 User列包含UserPrincipalNames,Identity列包含名称。我想要做的是获取Userprincipalnames并从中获取Displayname,我能够做到。
我无法弄清楚如何获取每一行身份(已在我导入的csv中)与新发现的Displayname一起显示。我没有使用Identity列来获取任何内容,我只是想再次显示这些值。
我正在使用的代码是:
lastColumn
这会获得$accounts = ipcsv 'D:\code-folder\small-results.csv'
$accounts | % {
$Identity = $_.Identity
$User = $_.User
Get-MsolUser -UserPrincipalName $User | select Displayname
}
,但仅此而已。我尝试将displayname
变量放在select中,但这不起作用。我觉得必须有一个简单的解决方案。
例如,CSV文件中的一行看起来像this
但我希望输出看起来像this,但我输出的输出遗漏了Identity,我不知道如何添加它。
答案 0 :(得分:2)
您可以使用Select-Object
(select
)制作自定义列:
$accounts = ipcsv 'D:\code-folder\small-results.csv'
$accounts | % {
$Identity = $_.Identity
$User = $_.User
Get-MsolUser -UserPrincipalName $User | select @{n='Identity';e={$Identity}},Displayname
}
答案 1 :(得分:2)
我会为每一行创建一个新的PSCustomObject
并将结果传递给Export-Csv
:
$accounts = ipcsv 'D:\code-folder\small-results.csv'
$accounts | % {
[PSCustomObject] @{
Identity = $_.Identity
User = Get-MsolUser -UserPrincipalName $_.User | select Displayname
}
} | Export-Csv -Path 'D:\code-folder\small-results.csv' -NoTypeInformation