I'm using PowerShell to create mail contacts (external users, not employees) in Exchange 2013 but they are automatically being assigned internal addresses according to the mailbox policies.
For example, I create a contact called "Test User" with an email address "testuser@google.com". The contact is created and the primary address is the google address as expected. In addition, the default policy is applied and adds an address like "tuser@mycompany.com" to the contact's alternate addresses. If I delete it, it's reassigned immediately.
The problem is that 6 months later when I hire an employee who should receive the valid address "tuser@mycompany.com", it's unavailable and he gets "tuser2@mycompany.com". If I re-apply rules strategically, I can give him the address I want and give the contact an invalid address instead but that's a lot of work and it all gets peeled back if another admin re-applies in the wrong order afterward.
So - why are email policies applied to contact objects in the first place? And can you stop that from happening?