Adventures in PowerShell Alchemy: Turning Code into Solutions

New Module Release: ISE Addon Menu Cmdlets

New Module Release: ISE Addon Menu Cmdlets

Turn the PowerShell ISE into a Unified Support Launcher


Why I Built This

In many enterprise support environments, the tool landscape is chaotic:

  • Some tools require elevation.
  • Others only run from specific servers.
  • Some are in Start Menu folders, others hidden away in deep paths.
  • And deployment is always a hassle.

Every admin ends up with a different experience, which means extra support overhead and wasted time hunting for the right launcher.

I wanted a centralized, context-aware way to make every tool instantly accessible for support staff, no matter where or how they connect.

So I built ISEAddonMenu.cmdlets.


How It Works in the Real World

🔹 RemoteApp-Hosted ISE

We publish PowerShell ISE as a RemoteApp.
On launch, the ISE loads a global profile that runs Add-ISEMenuFromDirectory from this module, pulling in all Start Menu shortcuts (and optionally custom menu structures).

This means support staff can instantly launch any available tool from the server’s environment—without installing anything locally.


🔹 Elevated Context Switching

Some tools require admin rights, but giving everyone admin sessions isn’t ideal.

Instead, I can launch the ISE in an elevated context (e.g., as an admin account). That same unified launcher is available just with the elevated privileges needed for those sensitive apps.


🔹 Central Management

The real magic?
All menu definitions, tool updates, and folder structures are managed centrally on the RemoteApp host.

Need to add a new support utility?

  • Drop it in the right folder.
  • The next time the ISE starts for anyone, it’s already there.

No need to push changes to dozens of laptops or VDI images.


What the Module Supports

ISEAddonMenu.cmdlets can:

  • Parse .lnk, .ps1, .bat, .cmd, .exe, .url, and .pdf files
  • Recursively build menus from folder structures
  • Import/Export menus via registry or CSV for portability
  • Dynamically create ISE Add-ons menu items on the fly

Here’s a quick example:

# Load the module
Import-Module ISEAddonMenu.cmdlets

# Add a menu for the Start Menu Programs folder
Add-ISEMenuFromDirectory `
    -ShortcutDirectory "C:\ProgramData\Microsoft\Windows\Start Menu\Programs" `
    -RootMenuName "Start Menu"

# Instantly available in your Add-ons menu!





Why PowerShell ISE?

Yes, the ISE is “deprecated” by Microsoft but in the real world, it’s still an incredibly useful host for quick scripts, live testing, and admin utilities.

By turning it into a shared launcher via RemoteApp, you get:

  • A single pane of glass for all tools
  • Context-aware launching
  • A central update point

📦 Getting the Module

  • Name: ISEAddonMenu.cmdlets
  • Platform: PowerShell ISE (Windows) only
  • Use Case: Centralized, scriptable, context-aware application launcher for admins

Final Thoughts

If you still rely on PowerShell ISE for support scripting (like many of us do), this module gives it a new lease on life.

It brings structure, convenience, and flexibility to your admin workflow while letting you manage everything in one place.

I’ll be posting a follow-up guide with:

  • Step-by-step setup instructions
  • How to configure a global ISE profile
  • How to publish ISE as a RemoteApp
  • Tips for managing menus via registry or CSV

Stay tuned.


#PowerShell #SysAdmin #RemoteApp #SupportTools #ISE #Automation #ITOps

Share this

Jeff Pollock Avatar