1

Compare-Object我正在使用cmdlet比较来自不同来源(不同列/属性名称)的两个 CSV 文件。如何在输出中包含任一 CSV 文件中的属性而不将它们包含在比较中?

CSV 数据示例

用户1.csv

电子邮件地址、姓名、侧面
luke@sw.com,Luke,light

用户2.csv

电子邮件地址、招聘日期、爱好
lando@sw.com,5/2/17,Sabacc

以下为我提供了一个包含电子邮件地址和侧面指示符的列,但是在比较中如何获取$Users1.name$Users2.hiredate不使用它们?

$Users1 = Import-Csv users1.csv
$Users2 = Import-Csv users2.csv

Compare-Object $Users1 $Users2 -Property "E-mail-Address"

我想要类似于以下的输出:

电子邮件地址 | 侧面指示器 | 姓名 | 聘用日期
---------------|----------------|------|----------
luke@sw.com | <= | 卢克 |
lando@sw.com | => | | 17 年 5 月 2 日
4

1 回答 1

5

添加PassThru参数以Compare-Object返回所有属性,然后用于Select-Object获取namehiredate属性:

Compare-Object $users1 $users2 -Property e-mail-address -PassThru|Select-Object e-mail-address,SideIndicator,name,hiredate
于 2017-08-17T20:24:12.957 回答