Skip to content
Script that searches through all COM objects for any methods containing a key word of your choosing.
Branch: master
Clone or download
Latest commit 91ec9bb Feb 3, 2020
Type Name Latest commit message Commit time
Failed to load latest commit information.
CMS.ps1 Removed debugging line lul Feb 3, 2020
LICENSE Initial commit Feb 2, 2020 readme Feb 3, 2020


This is a PowerShell script that searches through all COM objects and look for any methods containing a keyword of your choosing. There's three "depths" that are possible. The first "depth" is just getting the members of the COM object. Second "depth" is getting the member's members of the COM object. The third "depth", is you guessed it, the member's member's members of the object. I figured three was enough. The first two depths complete within a few minutes, the third can take 5-8 minutes (in my experience). There's also two options of searching: By CLSID or ProgID. Not all COM Objects will have ProgIDs, but searching by CLSIDs takes almost twice as long and has caused some unexpected Powershell crashes.

This has caused some weird shit to happen because it's literally instantiating every registered COM object, so use at your own risk. Because of this, this isn't supported, so if one day you log into Windows and see Microsoft Word pop up 12 times shortly after you ran this script, then don't open an issue because I warned you. Godspeed.

Usage Example: .\CMS.ps1 -CLSIDs -Depth 3 -Term ExecuteShell

Usage Example: .\CMS.ps1 -ProgIDs -Depth 2 -Term ExecuteShell


You can’t perform that action at this time.