A community member inquired about the possibility of collecting custom data extracted from scripts running within Virtual Desktop Infrastructure (VDI) sessions and then using that data to create a ControlUp dashboard. Specifically, the user wanted to determine which users were utilizing Macros in Excel during their VDI sessions, with a simple Yes or No indicator, and then visualize this information on a dashboard. Alternatively, they asked if it was feasible to query session-specific data, such as the history of active URLs accessed during a VDI session, and build a corresponding dashboard to monitor those URLs.
A ControlUp expert clarified that while ControlUp does not natively collect or display custom data directly from VDI environments by default, it provides a flexible mechanism to capture and associate additional data via the use of tags and supplemental metadata. These tags can be applied to entities within the ControlUp environment, including sessions or machines, and can be leveraged to filter and create richer dashboards. The expert pointed to the official documentation covering how to add a tags column to the information grid, which facilitates easier tracking and visualization of tagged data ([https://support.controlup.com/docs/add-tags-column-to-information-grid](https://support.controlup.com/docs/add-tags-column-to-information-grid)).
The recommended approach involves writing external scripts or monitoring tools that extract the needed data—such as whether Excel macros are in use or the URLs accessed during a session—and then injecting this information as tags or extra columns to the associated VDI sessions in ControlUp. Once this data residence is established via tagging, ControlUp’s advanced dashboarding and reporting features can be used to create custom dashboards displaying the binary Yes/No macro usage status or detailed URL access history across sessions.
This method requires integrating ControlUp with custom monitoring or scripting workflows that feed data into the platform through tags. It is not an out-of-the-box feature but leverages ControlUp’s extensibility for environments needing custom telemetry. Users aiming to build such solutions should also consider ControlUp’s APIs and scripting capabilities detailed in the official ControlUp Knowledge Base and Academy resources at https://docs.controlup.com and https://cuacademy.controlup.com for advanced custom data reporting.
Read the entire article here...
Scripts Related Training & Support Archives
Scripts training and support-related archives from inside the ControlUp Community on Slack.
Maximizing Employee Experience Insights with ControlUp: Key Features, Metrics, and Best Practices
ControlUp users focusing on digital employee experience (DEX) and user experience monitoring have found several features and best practices especially valuable for measuring adoption, engagement, and satisfaction across their environments. Key recommendations center around combining telemetry data with direct user feedback such as surveys to obtain richer insights. Surveys are most effective when paired with quantitative telemetry metrics, as this correlation reveals gaps and areas for improvement that neither approach alone can fully expose.
A primary metric endorsed by the community is the DEX Score, which aggregates user experience data into a single score per user, and can be rolled up by department, location, or persona. Trending DEX Scores over time provides a clear adoption and satisfaction narrative. In addition, monitoring logon duration per group is critical because delays here are a common source of user frustration and complaints.
For user experience visibility, the Employee View dashboard enables IT teams to quickly identify issues impacting end users. Other frequently cited dashboards include those focusing on Windows application crashes, app stability and performance, AI-driven apps and sites usage, and Teams/Unified Communications call quality—particularly important for organizations heavily reliant on Microsoft Teams. Anomaly detection using AI (Pulse AI) is recommended over static threshold alerts, as it can find unusual patterns proactively and even suggest or enact fixes via workflows.
Custom dashboards should be tailored to different stakeholders—executive views showing aggregated DEX by business units, operational views tracking logon times and resource usage, and user experience views combining app performance and user sentiment. In addition, creative use of automation workflows can significantly enhance support responsiveness. For example, a self-healing workflow can collect diagnostic data on machine issues, generate AI-driven recommendations, automatically open service tickets (e.g., in ServiceNow), and notify users with remedial steps before they contact helpdesk.
Integrations such as with ServiceNow enable automated ticket creation and remediation workflows that improve IT support efficiency and end-user communication. ControlUp roles can be customized to give access across teams (security, network, telephony) beyond just helpdesk functions, helping different groups leverage relevant telemetry.
New users of ControlUp are advised to start with free courses available at ControlUp Academy, followed by hands-on evaluation of dashboards in the Dashboard Gallery to understand available data and refine dashboards per organizational needs. Building out use cases and dashboards incrementally—starting with a few key metrics and expanding gradually—helps organizations avoid measurement overload and focus on actionable insights.
Finally, community insights emphasize ongoing management of user personas underpinning DEX Score segmentation, with approaches varying from manual updates to bulk imports depending on organizational scale.
Overall, a combined strategy using ControlUp’s telemetry, custom dashboards, integrations, AI-powered anomaly detection, and employee survey data provides a powerful framework for measuring and improving employee experience in IT environments.
Relevant resources include:
ControlUp Academy: https://cuacademy.controlup.com
ControlUp official documentation: https://docs.controlup.com
ControlUp Community: https://community.controlup.com
Dashboard Gallery (within ControlUp platform)
Read the entire article here...
Read the entire article here...
Resolving ControlUp API Rate Limit (HTTP 429) Errors in Automated Workflows
Users reported intermittent "HTTP 429 Too Many Requests" errors when using the ControlUp API, specifically receiving the message "Rate limit is exceeded. Try again in 1 seconds." These errors caused temporary failures in workflow steps that interact with the API. The issue was sporadic, occurring some weeks but not others, indicating periods when API request volume exceeded the allowed quota.
The root cause was identified as ControlUp's API rate limiting, which enforces a maximum number of API calls per unit time to prevent overload. When the limit is exceeded, subsequent requests receive the 429 error code, prompting automated retries that either delay the workflow or result in transient failures. The error message suggests reducing the frequency of workflow runs or checking the integration’s API quota if the problem persists.
ControlUp’s support team investigated the situation for the affected organization. They confirmed the rate limits were being hit and subsequently increased the API quota allocated to the organization. This quota increase was intended to accommodate the higher volume of API requests and prevent recurring rate-limit errors. Users were advised that no immediate changes on their side were required, but to report any further occurrences with details such as the specific workflow name and timestamp to facilitate further analysis.
Following the quota increase, the frequency of 429 errors dropped significantly, and workflows resumed normal operation. ControlUp recommends monitoring workflow execution and maintaining awareness of API call volumes to avoid hitting limits in the future. For more information on managing API rate limits and workflow best practices, users can consult the official ControlUp documentation available at https://docs.controlup.com. Detailed troubleshooting steps and how to interpret API error responses are also covered there to assist with addressing similar issues.
Read the entire article here...
Read the entire article here...
Conditional Script Execution in ControlUp: Reducing Unnecessary Remediation Runs Through Compliance Custom Issues and Scheduling Improvements
A common challenge in large IT environments is running remediation scripts efficiently across thousands of devices. Typically, scripts are scheduled to run daily or on another regular interval to enforce compliance or perform necessary changes, such as modifying a registry key or folder structure. However, this approach results in many unnecessary script executions on devices that are already compliant, leading to wasted resources and longer execution times.
One proposed solution is conditional script execution based on the actual state of each endpoint—running a script only if remediation is required. For example, if a device’s registry value meets the desired state, the script should be skipped for that device. This would allow the scheduled remediation to remain active while minimizing needless runs on already compliant machines. Without this capability, administrators often build checks into the script itself to exit early if no remediation is needed, but the script still needs to run on every device each time, causing inefficiency.
ControlUp already supports a similar concept through its Compliance Custom Issues feature, which enables creation of conditions to detect compliance status and trigger remediation scripts only on devices flagged as non-compliant. This method, though effective, operates as a two-step process: one to detect the compliance issue (writing to the compliance index) and another to run the remediation via alerts triggered by the compliance state. While this approach works well for security and compliance scenarios, there is interest in applying it to broader desktop management use cases, including non-security remediation tasks.
The key limitation is that the initial detection and remediation are decoupled, requiring two processes (condition detection and remediation execution) rather than a single conditional script execution embedded within the scheduling engine. Users have suggested enhancing the ControlUp scripting and scheduling functionality to integrate conditional execution directly—essentially embedding “if this condition is true, then run this script” logic at the scheduling level. This would allow scripts to run only when truly needed without separate detection steps, providing more efficient, self-healing capabilities across desktops and endpoints.
ControlUp’s existing resources on Custom Issues, adding custom remediations, and integrating scripts for compliance illustrate the current approach:
- https://support.controlup.com/docs/custom-issues
- https://support.controlup.com/docs/adding-custom-remediations-to-built-in-issues
- https://support.controlup.com/docs/how-to-add-scripts-to-controlup-for-compliance
These documents guide users on setting up compliance checks and scripts, but the underlying model still involves separate detection and remediation phases. The ongoing community discussion highlights demand for a deeper integration of conditional execution in scheduling scripts directly, which would optimize large-scale remediation efforts by running scripts strictly on endpoints that need them without running redundant checks or remediations daily.
Read the entire article here...
Read the entire article here...
Resolving Input Variable Editing Issues in ControlUp Workflows After Recent Update
ControlUp recently updated its workflow functionality with a notice that input variables are now restricted to API-triggered flows and can be marked as "Required." Additionally, workflows will warn when a flow with input variables is changed to a different trigger type. This update unintentionally disrupted a key capability: running subflows with input variables passed from a main flow. Previously, input variables in subflows functioned similarly to parameters in PowerShell functions, enabling seamless parameter passing and modification within nested workflows.
Users reported that while subflows still received parameters correctly during execution, the workflow editor UI no longer allowed modification or addition of input variables for flows that were not API-triggered. This caused confusion and limited flexibility in workflow design, as input variables appeared hidden or locked outside of API-triggered contexts. There was also concern that input variables should remain editable and available for manual triggers and subflow usage, rather than being limited solely to API workflows.
ControlUp’s development team investigated and identified that the core runtime functionality for passing parameters to subflows had not changed; the problem lay in the editor interface. The editor was erroneously hiding and disabling input variable editing for non-API triggered flows. A fix was prioritized and promptly released. The update restored the visibility and editability of input variables for all trigger types in the workflow editor, allowing subflows to continue receiving and modifying parameters as before. The warning banners and options to remove input variables were removed to avoid user confusion. The "Required" setting remains functional exclusively for API-triggered flows, displayed as a small toggle next to each variable rather than a checkbox.
Users are advised not to use the "Remove input variables" button, as this clears the flow’s variables and may disrupt parameter passing. If variables were removed and parameter passing stopped, users can restore them in the Start node. No other action is necessary to maintain functionality. Support remains available to investigate any persisting issues.
This resolution illustrates the importance of distinguishing between UI/editor features and core workflow execution in ControlUp’s flow management. It confirms that input variable functionality across different trigger types remains intact, preserving the flexibility needed for complex orchestrations involving subflows.
ControlUp documentation on workflows and input variables can be referenced at https://support.controlup.com/v1/docs/create-workflows.
Read the entire article here...
Read the entire article here...
How to Query Wi-Fi Adapter Driver Versions Using Custom PowerShell Scripts and Data Indexes in ControlUp
A first-time ControlUp user sought help generating a report or dashboard to query Wi-Fi adapter drivers across devices. They had PowerShell scripts producing the desired output but struggled to implement these within ControlUp. The root challenge involved correctly transforming and sending the script output to ControlUp’s custom data index for dashboard visualization.
The recommended approach required modifying the PowerShell script to wrap the output in specific markers—`### SIP DATA BEGINS ###` and `### SIP DATA ENDS ###`—and present the data as a JSON array. This enables the ControlUp agent to parse and ingest the data into a custom data index, which can then be queried in dashboards. A sample script was provided illustrating how to query Wi-Fi drivers using `Get-CimInstance` filtered by device name and manufacturer, then constructing a JSON array with device name, manufacturer, driver version, and driver date properties. This script output was wrapped in the SIP markers for ControlUp Data (CU4D) to capture the information.
Configuration instructions detailed how to add this script inside ControlUp for Desktops by navigating to Configuration > Scripts and creating a new script entry. Important options included setting the platform to Windows, language to PowerShell, enabling data sending to a specifically named custom data index (e.g., `wifi_adapter_drivers`), and choosing a trigger such as "Once Per Day" to optimize resource use since Wi-Fi driver info changes infrequently. They also noted enabling "Overwrite Existing Data" to maintain the current driver state without historical data buildup. After running the script on targeted devices, users could verify data ingestion under Configuration > Data and use or import JSON to visualize in dashboards.
During deployment, an error involving a positional parameter indicated character encoding issues with the script on some devices, despite the command working via remote shell. This highlighted the importance of script formatting and encoding handled within ControlUp’s execution environment. Further enhancements included correcting the PowerShell property name for the device name field (switching from `device_name` to `devicename`) due to how the data was read, ensuring accurate output reflecting the adapter’s actual name rather than the computer name.
A community member also shared a ready-made script and dashboard JSON import, tested on their ControlUp fleet, to streamline adoption. This example underscored ControlUp’s flexibility in integrating custom scripted data sources for tailored visibility into hardware driver versions via dashboards.
This case demonstrates how ControlUp’s scripting and custom data indexing framework can extend monitoring and reporting capabilities beyond built-in metrics, supporting complex, field-specific queries through simple PowerShell integration and well-structured JSON output. Users should ensure proper script structure with SIP markers, configure triggers and data indexes thoughtfully, and validate script encoding to avoid runtime errors. Detailed guidance is available in ControlUp’s scripting guide at https://support.controlup.com/docs/scripting-guide and broader dashboard how-to resources in their knowledge base.
Read the entire article here...
Read the entire article here...
Automating Quarterly VDI “Unique Users” Reports with ControlUp Workflows and Custom SQL Queries
A common request in VDI environments is automating the generation and distribution of quarterly reports that include metrics such as "Unique Users" along with detailed user session data. One such use case involves producing an Excel (CSV/XLSX) report that captures the list of users who logged into the VDI environment during the previous quarter and sending it automatically to management via email.
ControlUp does not offer a direct, out-of-the-box report that automates this exact task with both unique user counts and full session data in one export, nor does it natively support emailing such reports on a quarterly schedule through the product UI alone. However, this requirement can be addressed using ControlUp’s extensibility and automation features, particularly by leveraging ControlUp Workflows and custom SQL queries within the ControlUp Insights platform.
One practical implementation involves creating a custom SQL query that extracts user session activity data—such as usernames and counts of sessions per user over the desired interval. This query can be run on a schedule aligned to quarters. The results are then exported into Excel format using the Microsoft Excel integration available within ControlUp Workflows. An automated workflow can then use the Microsoft Outlook integration to send the generated report via email to predefined recipients at the beginning of each quarter, with the data covering the previous quarter.
A useful example comes from a community user who adapted the "Device Inventory Report to Email" workflow template for their use case. They included a custom SQL query to capture user session activity over the last set number of days, generating a report of users and their session counts. This workflow creates a document (Excel file) and attaches it in an email sent automatically to recipients whose addresses are stored in a global variable, enabling easy customization of distribution lists. This approach requires the integrations of ControlUp for VDI, Microsoft Excel, and Microsoft Outlook to function smoothly.
While this method does not currently exist as a pre-built ControlUp dashboard or report that directly sends emails on a quarterly schedule, using the powerful combination of custom SQL queries, Workflows automation, and Office integration provides a viable and robust solution. For organizations that cannot utilize AI assistance due to policy restrictions, this approach offers a fully scriptable, controlled, and customizable method to achieve the quarterly "Unique Users" report and distribution goal without manual intervention.
ControlUp customers interested in implementing such solutions can explore the ControlUp Workflows feature, the SQL Query Editor in ControlUp Insights, and the email and Excel integrations detailed in the ControlUp documentation and the ControlUp Academy tutorials at https://academy.controlup.com. Additionally, the official workflow templates available in the ControlUp Console or downloadable from the ControlUp community can form a good starting point for customization.
Read the entire article here...
Read the entire article here...
Analyzing User Login Time Trends Using ControlUp’s Session Activity Report and AI Tools
Analyzing login time trends for a large number of users over a specific period can be efficiently accomplished using ControlUp's Session Activity report. This report provides detailed historical data on user sessions, including logon durations, which are essential for identifying performance trends.
**Accessing and Exporting Session Activity Data**
To begin, navigate to the Session Activity report within ControlUp. This report offers various grid presets, such as Session Activity, Session Resources, and Session UX, each displaying different metrics related to user sessions. For analyzing login times, the Session Activity preset is most relevant. ([support.controlup.com](https://support.controlup.com/docs/user-sessions-activity-report?utm_source=openai))
Once you've selected the appropriate preset, you can export the data to a CSV file for further analysis. Click the download icon at the top-right corner of the report page to open the Export Report window. Choose CSV as the format and specify the desired time range. After configuring the export settings, click Download to generate the CSV file. ([support.controlup.com](https://support.controlup.com/docs/export-to-csv?utm_source=openai))
**Analyzing Login Time Trends**
With the exported CSV file containing session data, you can analyze login time trends using various tools. For instance, importing the CSV into AI platforms like Claude, Gemini, or ChatGPT can facilitate the analysis of logon duration trends over the past weeks. These AI tools can process the data and provide insights into performance patterns, helping to identify any anomalies or areas for improvement.
**Utilizing ControlUp's AI Assistant**
Alternatively, ControlUp offers an AI Assistant integrated into its platform, designed to assist with IT operations tasks. This AI Assistant can interpret natural language queries and execute complex actions, such as analyzing performance metrics and generating reports. By leveraging this feature, you can streamline the process of monitoring and analyzing login times for multiple users. ([support.controlup.com](https://support.controlup.com/docs/ai-assistant?utm_source=openai))
By following these steps, you can effectively monitor and analyze login time trends for a large user base, enabling proactive management of user experience and system performance.
## Highlights:
- [ControlUp snaps up Unipath to broaden AI capabilities](https://www.itpro.com/business/acquisition/controlup-snaps-up-unipath-to-broaden-ai-capabilities?utm_source=openai), Published on Monday, February 02
Read the entire article here...
Read the entire article here...
Resolving Device Registration Failures Using Intune Script and ControlUp’s Tracking Dashboard
A recent user shared an effective method to troubleshoot and resolve device registration failures detected via the Device Registration Failure Tracking Dashboard in ControlUp. The issue typically manifests when endpoints fail to register correctly, possibly due to mismatched or outdated registration codes that prevent successful detection and installation of necessary software components.
The solution revolves around a PowerShell script (PS1) used within an Intune Script and Remediation framework paired with a Win32 application deployment set as a required install. This script checks if the device's registration code matches the expected value—defined by modifying a single variable ($ExpectedRegCode) in the script. If the detected registration code does not match, the script initiates an uninstall command to remove existing components causing conflicts. It subsequently restarts the Intune Management Extension service to trigger a forced synchronization and installation of the latest published application version. This approach ensures that devices automatically correct registration code discrepancies by clearing stale state and obtaining the correct app package and registration anew.
This method leverages ControlUp’s Device Registration Failure Tracking Dashboard to pinpoint affected endpoints quickly, making remediation targeted and efficient. It is particularly useful in environments managed by Microsoft Intune, where automated script remediation helps maintain compliance and consistency of Win32 app deployments tied to device registration status.
Administrators planning to apply this solution should customize the $ExpectedRegCode variable within the script to reflect their environment’s correct registration string. The process assumes familiarity with Intune’s Script and Remediation capabilities and Win32 app deployment mechanics. ControlUp documentation and Microsoft’s official Intune script remediation guides provide valuable context for further customization and expansion of this workflow.
Read the entire article here...
Read the entire article here...
How to Refresh Service and Application Data On-Demand in ControlUp
A common challenge faced by ControlUp users involves timely updating of endpoint data, especially when tracking specific services or applications. In one case, a user wanted to confirm the removal of a service on endpoints but found that ControlUp still reported the service as running despite manual removal. This discrepancy occurs because the ControlUp agent updates different types of metrics at varied intervals. Core system metrics typically refresh every 60 seconds, but certain metrics such as service status and installed applications are updated less frequently—services refresh hourly (and shortly after a system reboot), while installed applications update only once per day.
This update schedule means that relying solely on on-demand refresh within ControlUp for some metrics is limited, as there is no built-in immediate refresh capability for services or installed apps. To overcome this, users can create a Custom Action script to gather the needed data on-demand. By scripting, users can query the current service status or application state directly from the endpoints and write the results to a custom data index in ControlUp. This approach provides a precise and immediate reflection of endpoint conditions without waiting for the default agent update cycle.
ControlUp’s scripting capabilities are documented in detail in the official scripting guide, available at https://support.controlup.com/docs/scripting-guide. This guide helps users build custom scripts that integrate into ControlUp workflows, enabling on-demand data collection tailored to specific monitoring or troubleshooting needs.
As of now, no direct feature exists within ControlUp to force an on-demand refresh of hourly or daily metrics such as service and installed app status, but leveraging Custom Action scripts offers an effective workaround. Users looking to improve real-time monitoring of endpoint services should consider implementing these custom scripted solutions until such features potentially appear on future ControlUp development roadmaps.
Read the entire article here...
Read the entire article here...
