How do I find files outside of Vault referencing Assemblies inside of Vault?

We currently have an issue where users are creating Assemblies in our Vault and inserting Components that are outside of the Vault, then Checking In. We would have the option turned on to not allow Check In of Assemblies containing these "outside the EPDM" Parts, but cannot due to a migration process for Rulestream created Assemblies that need to be migrated regularly. So I have 2 questions: 1) To find the extent of the problem, how do I find Assemblies that are referencing Components outside the Vault? 2) Is there a way to prevent a user from Inserting a Component that is not currently in the Vault?

Thanks, Todd

SolidworksSolidworks Pdm enterprise Pdm