Compare-Object does not work properly
good day all,
i trying find change in personnel list monthly. personnel data being saved csv files on first , last day of month. after trying find difference between 2 csv file below cmdlet;
$a = import-csv c:\old_prs.csv
$b = import-csv c:\new_prs.csv
$result1 = compare-object $a $b -property logonname -passthru |select "name;logonname;mail;department" | export-csv c:\result.csv -notypeinformation
note: if use "select inputobject" instead of " select "name;logonname;mail;department" " , program write "inputobject" cell a1 of "result.csv" file, nothing else.
both csv files has same columns "name;logonname;mail;department"
old_prs.csv below;
| name | logonname | department | |
| name1 | logonname1 | mail1 | dp1 |
| name2 | logonname2 | mail2 | dp2 |
| name3 | logonname3 | mail3 | dp3 |
| name4 | logonname4 | mail4 | dp4 |
| name5 | logonname5 | mail5 | dp5 |
| name6 | logonname6 | mail6 | dp6 |
| name7 | logonname7 | mail7 | dp7 |
| name8 | logonname8 | mail8 | dp8 |
| name9 | logonname9 | mail9 | dp9 |
new_prs.csv below;
| name | logonname | department | |
| name1 | logonname1 | mail1 | dp1 |
| name2 | logonname2 | mail2 | dp2 |
| name2.5 | logonname2.5 | mail2.5 | dp6 |
| name3 | logonname3 | mail3 | dp3 |
| name4 | logonname4 | mail4 | dp4 |
| name5 | logonname5 | mail5 | dp5 |
| name6 | logonname6 | mail6 | dp6 |
| name7 | logonname7 | mail7 | dp7 |
| name8 | logonname8 | mail8 | dp8 |
| name9 | logonname9 | mail9 | dp9 |
| name10 | logonname10 | mail10 | dp10 |
| name11 | logonname11 | mail11 | dp11 |
| name12 | logonname12 | mail12 | dp12 |
| name13 | logonname13 | mail13 | dp13 |
result below;
| name | logonname | department | |
| name9 | logonname9 | mail9 | dp9 |
| name10 | logonname10 | mail10 | dp10 |
| name11 | logonname11 | mail11 | dp11 |
| name12 | logonname12 | mail12 | dp12 |
| name13 | logonname13 | mail13 | dp13 |
result showing "name9" differen records exist in both old , new csv file
also, "name2.5" exist in new csv file not show difference.
any 1 or suggest solve problem?
best regards
ugur
$a = import-csv c:\old_prs.csv -delimeter ";" $b = import-csv c:\new_prs.csv -delimeter ";" $result = compare-object $a $b -property logonname -passthru |select name,logonname,mail,department $result | export-csv c:\result.csv -notypeinformation
Windows Server > Windows PowerShell
Comments
Post a Comment