The Component Services snap-in under Administrative Tools allows you manage the COM+ applications on different computers on your network. This is done by adding the computer to a list which is then saved for the next time you open the application. While this means you don’t need to keep adding a computer, it can also cause the application to appear hung if a computer in the list no longer exists.
In the Component Services snap-in, if a you try to add a computer name to the Computers node that does not exist or is not responding, or that ceases to respond at some point, the MMC may become unresponsive. This probably looks like a hang, since the period of unresponsiveness is at least a couple minutes and increases with each user input. If the invalid node is not removed from the Computers list, this will occur every time the user loads the Component Services snap-in and attempts to expand the Computers node. The same behavior may be noticed if a computer that has firewall enabled is added to the list.
The MMC should respond after a while, but the time span of the hang can vary depending on the number of stale objects that are available under the Computer node.
The following work-arounds can be used to get around the period of unresponsiveness:
1. Open Component Services
Start -> Run -> dcomcnfg
Control Panel – > Administrative tools -> Component Services.
2. Drop down into the Computers node from the Component Services node.
3. Make a note of the computer names in this list (apart from My Computer) that are no longer available on the network.
4. Close Component Services (you may need to kill the application from Task Manager if it is not responding).
5. Open the HOSTS file in a text editor (the file can be found in \System32\drivers\etc\; backup a copy of the file first)
6. Add entries for each computer name you noted, and assign each the loopback IP address (127.0.0.1). This will result in a quick valid response from each computer name when the plug-in tries to access it. It won’t be the real IP address of the unavailable computer, but the MMC does not know that.
7. Save the HOSTS file.
8. Reopen Component Services and drop down to the Computers list.
9. You may take a bit of time, but now you should be able to select the invalid computers in the list and remove them.
10. Once the invalid computer names are removed and the plug-in is responsive when opened, edit the HOSTS file again to remove the entries you’ve added.
The following VBS script can be used to delete the reference of the computers from the COM+ catalogue. Copy the below code to a notepad file and rename it to VBS (eg- RemoveMachineComAdmin.vbs). While entering the name of the server make sure it is entered as it was used in the component console; it is case sensitive.
NOTE: Microsoft does not support the creation or functionality of custom scripts. This script is supplied as an example, and is not officially supported. Use at your own risk.
‘ Script to delete Machine names from COM+ catalog
Dim catalog ‘As COMAdmin.COMAdminCatalog
Dim Machines ‘As COMAdminCatalogCollection
Set Catalog = CreateObject("COMAdmin.COMAdminCatalog")
‘Collect input from user
sMachine = Inputbox("Enter Machine name to be deleted (case sensitive):","Delete Machine name", "My Computer")
If sMachine="" Then
MsgBox"Invalid input, restart the program"
If sMachine="My Computer" Then
msgbox ("You cannot delete My Computer")
‘Get the Machines collection in COM+ catalog
Set Machines = Catalog.GetCollection("ComputerList")
‘Get the count of the number of objects
MsgBox("No. of Machine names found : " & Machines.Count)
‘Get the correct machine name
counter = 0
Dim MachineObj ‘As COMAdminCatalogObject
For Each MachineObj in Machines
If MachineObj.Name=sMachine Then
counter = counter +1
‘Delete the machine name
If counter < machines.count Then
answer = Msgbox("Are you sure you want to delete: " & sMachine, vbYesNo, "Confirm Deletion?")
If answer=vbYes Then
Msgbox "’" & sMachine & "’ not found in the COM+ catalog.", vbOkOnly,"Machine Not Found"
Thanks for your time,