Open Event Viewer, Services, Device Manager and the Group Policy Editor and you have opened the same program four times. Each one is a snap-in loaded into an empty frame, and the frame is the part nobody names. That frame is the Microsoft Management Console, and this post covers what MMC means in practice: the snap-ins a technician lives in, how to build one console that holds all of them, why connecting to another computer fails, and the 2024 change that made Windows refuse console files from the internet.
What MMC Is, and What It Is Not
Microsoft's own definition is one sentence: MMC is "an extensible user interface that provides an environment for running management applications, structured as components, called snap-ins". Strip the vocabulary and it says this. The program mmc.exe manages nothing on its own. It draws a window with a tree on the left and a detail pane on the right, and waits for a snap-in to give it something to show.
A snap-in is the tool. Services, Event Viewer, Device Manager, Disk Management and Active Directory Users and Computers are all snap-ins, each a small component that knows how to talk to one part of Windows. A console file, the .msc you double-click, is a saved layout: which snap-ins to load, which computer each one points at, and how the window was arranged. So services.msc is not a program. It is a text file that tells mmc.exe to load the Services snap-in against the local machine. That is why Task Manager lists seven copies of "Microsoft Management Console" when you have Services, Event Viewer and five other tools open, and why the Start menu search for "Services" finds a file in System32 rather than an app.
The console file also carries a mode. Author mode lets you add and remove snap-ins and rearrange the tree. User mode locks the layout so the person opening it can use the tools but not change the console. Microsoft's mmc command reference adds the switch for forcing it: mmc path\file.msc /a opens any saved console in author mode regardless of how it was saved.
The Snap-ins a Technician Lives In
Every one of these opens from Run or a command prompt by typing the file name. Learning the names saves a click through Settings every time, and a few of them, like the local certificate store, have no Settings equivalent at all.
| Type this | What opens | The ticket it answers |
|---|---|---|
compmgmt.msc | Computer Management | One console that bundles Event Viewer, Shared Folders, Local Users, Device Manager, Disk Management and Services |
services.msc | Services | A service that will not start, or a startup type to change |
eventvwr.msc | Event Viewer | Anything that happened and left a log |
devmgmt.msc | Device Manager | A driver, a yellow triangle, a device that vanished |
diskmgmt.msc | Disk Management | A drive letter, a partition, a disk that shows as offline |
gpedit.msc | Local Group Policy Editor | A setting that Settings refuses to expose; Pro and up only |
secpol.msc | Local Security Policy | Password, lockout and audit policy on one machine |
lusrmgr.msc | Local Users and Groups | A local admin account, a group membership |
certlm.msc | Certificates, local machine | The certificate store a service or an 802.1X client reads |
taskschd.msc | Task Scheduler | The thing that runs at 03:00 and nobody remembers |
wf.msc | Windows Defender Firewall with Advanced Security | An inbound rule, a profile that is on when it should not be |
dsa.msc | Active Directory Users and Computers | Needs RSAT on a workstation; accounts, OUs and group membership in the domain |
Two notes on the table. The policy editors, gpedit.msc and secpol.msc, are not on Windows Home, and the full domain version of the first one is gpmc.msc, which our Group Policy editor guide covers alongside gpupdate.
The Active Directory console is not present until you add the RSAT feature, which takes one PowerShell line on Windows 11 and is walked through in the ADUC install post.
Build One Console and Pin It
The reason to learn the frame rather than the individual files is that you can load every snap-in you use into one console, point each one at the right server, and save the result. Run mmc, press Ctrl+M for Add or Remove Snap-ins, and add Event Viewer, Services, Device Manager, DNS, DHCP and Active Directory Users and Computers in whatever order you want them in the tree. When a snap-in asks which computer to manage, pick "Another computer" and name the server, and the console remembers it. Save the file to a folder under your profile and drag it to the taskbar.
The r/sysadmin thread below is the same recipe from 2018, and the replies are the reason the post still gets linked: pinning the saved console beside PowerShell, then switching between them with the Windows key and a number.
Three settings make a saved console worth handing to someone else. In Add or Remove Snap-ins, the Advanced button lets a snap-in sit under another one in the tree, so Device Manager can live inside Computer Management for one server and beside it for another. Under File, Options, the console mode can be set to "User mode, limited access, single window", which hides the Add or Remove menu and turns the file into a fixed tool for a junior technician or a client contact who should see three things and nothing else. And a taskpad view, from the Action menu on any node, adds big labelled buttons for the tasks that node is for, which is how a console for one client's file server ends up with "Restart print spooler" as a button rather than a tribal memory.
The question that sends people to the console is usually a shortcut that cannot do what they want. Microsoft's snap-in files take a /ComputerName switch for one target, and nothing for three. In the thread below, a technician wanted DHCP to open against three servers at once, and the top reply is the whole answer: build a console, add the DHCP snap-in, add the servers, save it, point the shortcut at the file.
Professor Messer's A+ walkthrough covers the same build on screen, snap-in by snap-in, in under ten minutes.
Connecting to Another Computer, and Why It Fails
Most snap-ins can manage a remote machine. Right-click the top node, choose "Connect to another computer", type the name, and Event Viewer or Services shows the other box. When it works it is the fastest way to read a server's logs without signing in. When it fails, the message is one of a family that Microsoft's Directory Services team catalogued in a 2008 post that is still accurate: "Event Viewer cannot connect to computer. The error reported is: The RPC server is unavailable", or Device Manager's "Unable to access the computer", or Disk Management failing to start the Virtual Disk Service.
The cause is the transport. The classic snap-ins talk to the remote machine over RPC and DCOM, which means a first connection to port 135 and then a second connection to a dynamic port the server picks from a high range. A firewall that allows 135 and nothing else lets the handshake start and kills the real traffic, which is why the error is "unavailable" rather than "refused". Windows ships a separate inbound firewall rule group for each snap-in, all off by default on a server: Remote Event Log Management, Remote Service Management, Remote Volume Management, Remote Scheduled Tasks Management, and a catch-all called Remote Administration. Microsoft's post enables them with one line, netsh advfirewall firewall set rule group="remote administration" new enable=yes, and the modern equivalent is Enable-NetFirewallRule -DisplayGroup "Remote Event Log Management" for one group at a time. Disk Management is the awkward one: its rules have to be on at both ends, and the Virtual Disk Service has to be running on the target.
Two more causes are worth checking before the firewall. A saved console stores the computer name inside the file, so a console built against a server that was renamed or retired fails on open and sometimes hangs; rebuild the snap-in against the current name. And the account running the console needs to be an administrator on the target, or at least a member of the right remote-management group, because the snap-in authenticates as you.
The reason this is a 2008 post that still gets read is that the newer transport sidestepped the whole problem. PowerShell remoting and Windows Admin Center use WinRM, which listens on one predictable port, 5985 for HTTP and 5986 for HTTPS, and is the protocol our WinRM guide covers end to end. If the job is "read the System log on forty servers", a Get-WinEvent loop over WinRM beats forty remote Event Viewer connections, and on OpenFrame that loop is one script run across a client's devices with the output collected in one place.
The 2024 Change: Windows Stopped Trusting Console Files
For twenty years a .msc file was treated as a harmless layout. In June 2024 Elastic Security Labs published GrimResource, a technique that turns a crafted console file into code execution. The trick lives in the console's StringTable section, which can reference a resource in apds.dll that carries an old cross-site scripting bug; opening the file makes mmc.exe run attacker JavaScript, and from there a VBScript stage and a .NET loader. The sample Elastic found had been uploaded to VirusTotal on June 6, 2024 with zero detections. In plain terms, the file looked like a saved Event Viewer window and behaved like a dropper.
Microsoft's answer came on October 8, 2024 as CVE-2024-43572, listed as exploited in the wild and added to CISA's Known Exploited Vulnerabilities list with a federal patch deadline of October 29. The fix changed MMC's behaviour rather than one bug: per Tenable's analysis of the update, Windows now prevents untrusted Microsoft Saved Console files from being opened. Untrusted means the file carries the Mark of the Web, the zone tag Windows attaches to anything downloaded from a browser, saved from an email client, or copied from a share the machine does not consider local.
The practical effect lands on technicians more than attackers. A custom console emailed to a colleague, or downloaded from a documentation portal, now refuses to open on a patched machine. If you built the file, the fix is the one for any downloaded file: right-click, Properties, tick Unblock, or run Unblock-File in PowerShell. If you did not build it, treat the block as the control doing its job, and ask where the console came from before you clear the flag. The thread below is a June 2024 team asking the question the week the technique went public, and the replies are the layered answer: block .msc at the mail filter, and stop unsigned consoles running with AppLocker or Software Restriction Policies.
One side effect worth knowing for triage: mmc.exe is a signed Microsoft binary, so its presence in Task Manager is never the finding. What is a finding is mmc.exe spawning a script host or a PowerShell process, which is exactly the shape GrimResource takes and the detection Elastic published alongside the write-up.
Where MMC Is Heading
MMC is not going away, but it has stopped being the centre. Microsoft's Windows Admin Center is the browser-based replacement for Server Manager and most of the server-side snap-ins, runs over WinRM rather than RPC, costs nothing, and in Microsoft's words "complements but doesn't replace" RSAT and the rest of the management stack.
Our Windows Admin Center review covers where it stops for an MSP managing many clients.
PowerShell took the other half of the job: anything you would do in Services or Event Viewer across more than one machine is a cmdlet with a -ComputerName parameter, and the PowerShell vs CMD guide is the place to start if the shell is still the second tool you reach for.
What MMC keeps is the single-machine, single-task work and a few tools with no replacement. There is no web version of the local certificate store, the local policy editor or Device Manager, and Windows 11 and Windows Server 2025 both ship mmc.exe unchanged. The split that works in practice has three gates. One machine and a tool you open daily: a saved console on the taskbar. One server and a browser: Windows Admin Center. More than a handful of machines: a script, over WinRM, with the output collected, which is the job an RMM exists for.
Every technician has looked at Task Manager and seen the frame for what it is.
The Short Version
MMC is the empty window, a snap-in is the tool inside it, and a .msc file is the saved layout that loads one or more snap-ins against a named computer. Learn the dozen file names, build one console with your snap-ins pointed at your servers, and set it to user mode before handing it to anyone else. When a remote connection fails, it is the RPC firewall rule group nine times out of ten, and WinRM is the transport that avoids the problem. And since October 2024, a console file that arrives by email or download will not open until you unblock it, which is the right default for a file type that can run code.
For the directory half of the console, the next read is what a domain controller does, since most of the snap-ins above only earn their place once there is a domain to point them at.
Content Marketing Lead
Ohayo! I run content, SEO, social, and community at Flamingo. Before IT, I worked as a correspondent for Ukraine's Public Broadcasting Company and have a Master's in journalism.
