What is MIM?

How does it work?

  • Syncing, managing and enabling users in office 365
  • Getting users from HR system and creating users, managing identities in ADDS, Exchange and Lync/S4B.
  • In addition, so much more.

What are the hardware requirements?

  • Better virtualized (VMWARE, Hyper-V and other supported hypervisor)

What are the Software requirements?

  • WS 2012/R2, Exchange, Lync/S4B, PowerShell, VBscript
  • SharePoint 2013 Foundation Complete installation (standalone) with remote SQL database.

Can I separate the MIM roles between servers?

YES, the most common scenario is having a dedicated server to Sync, other to FIM/MIM service and Portal (SharePoint foundation and registration) and another server preferred at DMZ to the password reset portal (accessed externally).

Does it use any open source solution to improve it?

YES. Now at the MIM 2016 server MSFT has released the MIM WAL (Workflow Activity Library) and you can build by yourself following this guide here. This way you will be able to improve the way you develop your solution.

More information at

MIM Wal Deployment

What do you recommend me to learn before using MIM?

Do not do what I have done. It’s a good advice to learn C#, PowerShell and strong knowledge of ADDS (Active Directory Domain Services) structure (objects, extension attributes, etc.). I also I recommend you to have skills involving Exchange and Lync 2013/Skype4Business administration and troubleshooting if you want to work with them (used when you want to create users in ADDS, give them a mailbox account and make them enabled to use IM in Lync/Skype for business).

Can I use shared SQL database or instance (even though clustered)?


Let me explain a few reasons.

When you’re about to install the SharePoint 2013 foundation for MIM2016 or FIM2010R2SP1 you don’t receive a warning saying that you need a dedicated SQL database or instance to it. However, if you do it in production environment once you have a dedicated SQL (clustered or not) database or instance to MIM you can put SharePoint databases, sync, service databases pointed to the same server or instance. But never share it with another SQL database or production instance because during the SharePoint 2013 foundation it makes a few changes at the SQL server parameters affecting your SQL server infrastructure impacting in parallelism as you can see here

Attention: At the customer, because his environment made a huge mistake deploying it in a shared SQL server\instance in a production environment even though it was an infrastructure environment (only used for system center, MIM, Lync, RDS, etc.)

SharePoint specialists warn about using a dedicated instance for SharePoint 2013 foundation only and another instance for MIM and FIM solution such as SQL\SPT2013 and SQL\MIM.


Once again, Thank you.

Thiago Beier