比较对象并包含输出中未比较的属性



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

示例 CSV 数据

用户1.csv

电子邮件地址,姓名,侧面 luke@sw.com,卢克,轻

用户2.csv

电子邮件地址,雇用日期,爱好 lando@sw.com,5/2/17,萨巴克

下面给了我一个带有电子邮件地址和侧面指示器的列,但是如何在比较中不使用它们的情况下获得$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

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

Compare-Object $users1 $users2 -Property e-mail-address -PassThru|Select-Object e-mail-address,SideIndicator,name,hiredate

最新更新