MMC Technology Summary


Applies To: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Preview, Windows Vista

MMC is a Multiple Document Interface (MDI) shell user interface (UI) for the integration of modularized administration tools that are implemented as snap-ins. This means that it is possible to have multiple windows, all attached to the same management console. It is a tool that hosts snap-in programs that provide the actual functionality. Snap-in programs are designed to perform a specific set of tasks on a specific type of application or object. A snap-in can be loaded as needed into an MMC console to create a customized management environment. The combined set of snap-ins specified in the console can be saved as an .MSC file, which can be considered an MMC tool, is also referred to as an MMC console. With the capability to Add/Remove snap-ins, it is possible to create specific consoles that match the skill level and job description of the administrator who is intended to operate the console. The .MSC file makes the console portable. Each snap-in operates within the MMC console structure, which consists of three panes. The managed entities map to a hierarchy of nodes that is displayed as a tree in the tree pane. The scope of a snap-in may include network resources, as well as objects, views, and actions.


MMC (Microsoft Management Console), action, property pages, snap-in, tree pane, results pane, actions pane, scope node, view, view description.


Microsoft.ManagementConsole, Microsoft.ManagementConsole.Advanced

.NET Framework 2.0, Windows Componentization Tools.


Microsoft Management Console (MMC) was initially provided as a common interface for the administration of the Internet Information Server (IIS) 4.0, Certificate Server, Component Services, and other Option Pack tools. It was created to unify isolated management technologies, where each administrative task was performed using a separate tool, and each tool had its own interface and operating characteristics. The idea was to free administrators from the overhead of learning multiple isolated tools and interfaces to manage systems and networks. In MMC 2.0, a snap-in was implemented as a Component Object Model (COM) in-process server. The compiled code was linked to create a DLL. MMC 2.0 interacted with snap-ins using several MMC-defined programming interfaces. MMC 2.0 shipped with Windows XP and Windows 2003.

MMC 3.0 is a successor to MMC 2.0. It simplifies the task of creating snap-ins radically by offering a managed layer that in turn calls the MMC core that MMC 2.0 exposed to the developers. An MMC 3.0 snap-in developer does not need to write code to access the MMC internals. A snap-in developer can focus on the management task and use the MMC 3.0 API to successfully implement the user interfaces that best expose the management functionality.

The section How-To Develop Snap-ins Using MMC provides a few samples that show how to create snap-ins that use some of the different programming elements that are available in the MMC 3.0 SDK and cover the basic user scenarios outlined in MMC Use Scenarios. The section MMC Programming Elements describes the various programming aspects that a snap-in developer must become familiar with before starting snap-in development.




Framework of classes required for managed snap-in development.


Set of classes required mostly for the development of extension snap-ins.

What's New

Refer to the section What's New in MMC 3.0 for the distinguishing features of MMC 3.0.

See Also

How-To Develop Snap-ins Using MMC
What's New in MMC 3.0
MMC Programming Elements