In the above example I had pulled a list of services from my machine and tossed them in file 1, then I stopped a service and did it again in file 2. The fields I’m looking at are DisplayName, Status, and State (you could change that to whatever fields were in your CSV that you wanted to work with). I told it to include the equal items in the output (you could omit that if you wanted and only see the lines that don’t match). The last item was piping it into a format-table (short hand is just ft) to change how the object looks. The output will have an additional line called “SideIndicator” which will tell you if things match or not.
All that being said, looking at what you posted in your 3rd output block, it sort of looks like you were steering towards more customized output. This is probably why the moderator asked you what your question was exactly. Your thread title, and your requested output don’t precisely match and it would be a guessing game as to which direction you’re trying to go. To do that kind of custom output (off the top of my head) I’d probably have to create some arrays, loop through them making comparisons, and writing the custom output into a new file. That would be a bit more code than I’m showing above, you’d need to give some indication of what you know how to do and don’t, while laying out a little of the code up front so I’m not doing it all for you from scratch and am only helping you with learning what you’re missing.
So… what was your real question, or did the compare-object cmdlet answer it?