• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
ControlUp Community

ControlUp Community

Connect, Learn, and Grow

  • Blog
  • Podcast
  • Meetups
  • Archives
  • Categories
    • ControlUp One Platform
    • ControlUp for Apps
    • ControlUp for Compliance
    • ControlUp for Desktops
    • ControlUp Scripts & Triggers
    • ControlUp Synthetic Monitoring
    • ControlUp for VDI
  • Topics
  • Events
    • Logos & Wallpaper
    • ControlUp.com
  • Join

How to Get List of Monitored Services on ControlUp for Automated Actions

Posted on August 25, 2025

The team discussed ways to obtain the list of "monitored services" on ControlUp, specifically for a script-based action use-case. One user shared their script for starting Windows services in a Stopped state, another mentioned using the `Invoke-CUQuery` cmdlet to export the list of monitored services to a JSON file. Suggestions were also made to use the `ServiceDisplayName` record property as a parameter for a script action, which would retrieve the name of the service and pass it to the script. The discussion also referenced ControlUp modules and API calls for obtaining the list.


Read the entire ‘How to Get List of Monitored Services on ControlUp for Automated Actions’ thread below:

Hi everyone,

Is there any supported cmdlet, API, or variable in ControlUp that can directly return the list of “monitored services” (the ones added under Service Monitoring)?

Details:

I’m working on a Script Based Action use-case where I need to automatically start Windows services that are in a Stopped state. The challenge I’m running into is that in ControlUp Real-Time DX, triggers for service health only fire if the service is first added under Service Monitoring.

When I inspect my triggers with Get-CUTriggerDetails, I can see the FilterNodes with conditions like Column = ServiceDisplayName and Value = Citrix PVS TFTP Service (or sometimes wildcard patterns like Citrix PVS*). That part works fine.

However, outside of ControlUp (e.g. on the target machine itself), I want to avoid accidentally starting unmonitored services that match those wildcard patterns. To solve this properly, I’d need to reliably obtain the authoritative list of “monitored services” (the ones added in Settings>Service Monitoring), and then intersect that with the filter values/patterns.

And here comes my question: Are there any supported variables, API calls, or ControlUp PowerShell cmdlets that can directly return the list of “monitored services” from the Service Monitoring catalog?

So far I’ve looked through the ControlUp.PowerShell.User module (Get-CUTriggers, Get-CUTriggerDetails, Convert-CuTriggerFilterToObject, Get-CUObservableTriggerDump etc.), but I haven’t found a cmdlet that exposes the Service Monitoring list itself. Before I build a workaround (e.g. maintaining a JSON allow-list externally), I wanted to check if there’s an official or undocumented way to pull that monitored list.

Any pointers would be greatly appreciated!


This might need input from @member

I’ll have a look myself when I get a chance but got a packed schedule. Wonder if get available actions would show anything, although that would be post detection


I had this script I used befor i joined (Hoping removed all reference to my old company

References the folder in Controlup and specififies the service

Chaeck if the services is started if not loops 3 times to start

adn will send an email if fails


Thanks for sharing that, Luke — really helpful to see how you handled service start with the CU modules. My angle here is a bit different though: I’m trying to get the list of services actually configured under Service Monitoring, so I can safely intersect that with trigger wildcards.

I just found a way to list the monitored services, but I don’t think I can use it directly since my trigger is scoped to Citrix-specific folders, and these cmdlets aren’t available there due to the missing CU module. My plan is to export the list to a JSON file and then filter it in my SBA to start any service that’s in a stopped state. If there’s a better or more direct approach, please let me know.

“`(Invoke-CUQuery -Table Services -Fields ServiceDisplayName).Data |

Sort-Object ServiceDisplayName -Unique |

Select-Object ServiceDisplayName“`


Invoke-cuquery -table ServicesConfigurationSettings -scheme Config

Also exists. That is the actual services configuration. Not just the resulting data


Thanks Dennis, Do you have any suggestions on my approach to specifically start only the monitored service? I tried retrieving this remotely in the same script, but it didn’t seem to be working fine.


You are attaching a script action to a service trigger, right?

Add a record property argument.

Leave the parameter name empty and select Service Display Name as the record property.

Now when the script is fired via an automated action, it gets the name of the service passed to it as $args[0]


Yes, am attaching script action to service trigger, Thanks ! will check this out.

Continue reading and comment on the thread ‘How to Get List of Monitored Services on ControlUp for Automated Actions’.  Not a member? Join Here!


Categories: All Archives, ControlUp Scripts & Triggers
Topics: Automation & Alerting, Citrix, Citrix Provisioning Services (PVS), ControlUp Solve, Microsoft Windows, PowerShell, Scripts, Triggers

Ask Us Anything, Connect, Learn, and Grow with the ControlUp Community!

Login to the ControlUp Community to ask us anything, stay up-to-date on what’s new and coming soon and meet other like-minded techies like you.

Not already a member? Join Today!

Primary Sidebar

ControlUp Academy

Enroll in ControlUp Academy for expert-led technical training, equipping you with skills to effectively deploy, manage, and grow your ControlUp investment.

Learn here >

Rotating Images

Hidden Gem from our Community on Slack!

ControlUp Betas - What's Coming Next?
NEW ControlUp Features - Stay Up-to-Date!
ControlUp Scripts - Scripting, Zero to Hero
Latest KB Articles - Be the First to Learn
Did you Know - with Sivan Kroitoru
Practical Perspectives Technical Use Case Training

Video Tutorials Library

Visit our technical how-to videos, offering step-by-step tutorials on advanced features, troubleshooting, and best practices.

Watch here >

ControlUp Blog

Check out the ControlUp blog for expert advice and in-depth analysis.

Read here >

ControlUp Script Library

Visit the ControlUp technical script library, which offers a multitude of pre-built scripts and custom actions for your monitoring and troubleshooting requirements.

See here >

ControlUp Support

Visit the ControlUp support home and to delve deeper into ControlUp solutions.

Browse here >

Download ControlUp RealTime DX

Start with ControlUp for real-time end-user environment insights, swift troubleshooting, and unprecedented performance optimization. Download now.

Download here >

Footer

      

ControlUp Community
Of Techie, By Techie, For Techie!

Terms of Use | Privacy Policy | Security
Dive Deeper, Learn more at ControlUp.com

  • facebook
  • twitter
  • youtube
  • linkedin

© 2023–2025 ControlUp Technologies LTD, All Rights Reserved.

We use cookies to ensure that we give you the best experience on our website. by continuing to use this site you agree to our Cookie policy..