Administering Windows services across multiple machines is a routine task for sysadmins and DevOps engineers. The manual process of launching services.msc
and then navigating through Action → Connect to another computer becomes tedious when performed dozens of times daily.
The most efficient method uses Microsoft Management Console (MMC) with pre-loaded snap-ins:
mmc.exe services.msc /computer=REMOTE-PC-NAME
Or for IP address connection:
mmc.exe services.msc /computer=192.168.1.100
For automation scenarios, these PowerShell commands provide similar functionality:
# Method 1: Using Get-Service with -ComputerName
Get-Service -ComputerName "SERVER01"
# Method 2: Creating a persistent MMC connection
$mmc = New-Object -ComObject "MMC20.Application"
$mmc.Load("services.msc")
$mmc.ActiveDocument.ActiveView.ConnectTo("SERVER02")
Combine with batch scripting for bulk operations:
@echo off
for /f %%i in (server_list.txt) do (
start mmc.exe services.msc /computer=%%i
)
If you encounter "Access Denied" errors:
- Ensure proper RPC/WMI firewall rules are enabled
- Verify you have administrative privileges on target machine
- Check DCOM permissions if connecting across domains
For performance monitoring scenarios, consider adding the Performance Monitor snap-in simultaneously:
mmc.exe services.msc /computer=SERVER01 perfmon.msc /computer=SERVER01
As a sysadmin managing multiple Windows servers, I've found the GUI navigation path (Action → Connect to remote computer) to be incredibly inefficient when needing frequent access to remote services. Here's the solution I've implemented in my daily workflow:
Windows actually provides a built-in way to launch services.msc pre-connected to a remote machine:
mmc services.msc /computer=RemoteComputerName
Replace RemoteComputerName
with either the hostname or IP address of your target system. This command launches the Services snap-in already connected to the specified remote computer.
Here are some real-world usage scenarios:
# Basic connection mmc services.msc /computer=SRV-WEB01 # Using IP address mmc services.msc /computer=192.168.1.100 # With domain qualification mmc services.msc /computer=SRV-DB01.corp.domain.com
For servers I access daily, I create desktop shortcuts with these properties:
Target: mmc services.msc /computer=SRV-FILE01 Start in: %windir%\system32
This saves multiple clicks every time I need to manage services.
When needing alternate credentials:
runas /user:DOMAIN\AdminAccount "mmc services.msc /computer=SRV-APP01"
For those preferring PowerShell, here's an equivalent command:
Start-Process "mmc.exe" -ArgumentList "services.msc /computer=SRV-SQL01"
If you encounter "Access is denied" errors:
- Ensure Windows Firewall allows remote administration (TCP 445)
- Verify the Remote Registry service is running on the target
- Check your account has sufficient privileges