The Matches operator does not compare 2 fields for the same object, but actually compares the two fields between multiple objects. For Instances, you can use the matches condition to compare the Email alias of all users against the Logon Name of every other user. I believe what you want is to compare the 2 fields for the same object. Is this correct? If so, a custom query report would be required to solve your request.
I have uploaded a report which returns the list of users within a domain where the . As it is, the report will also return results when the email address is not set.
I just updated the report at the previous link to include an OU filter as well. The parameter option to select an existing OU name from the database is not functional, so I have included wildcard support for the OU name (example *SOMEOU*)
The new file name is "Users with mismatched logon name and email2.zip"
This is looking good, although I have another filter request. I need to filter out anyone who's email address is blank, along with anyone who does not have a CINFIN.com email address.