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...
ControlUp Dashboards
How to Obtain the Correct Grafana Big Screen Dashboard JSON File for ControlUp Integration
A community member sought the JSON file for the Grafana Big Screen Dashboard used with ControlUp, noting that the link on the ControlUp download page (Innovation Guild Solutions) was pointing to an incorrect JSON file. They had already reported the issue to ControlUp Support but could not locate the original file elsewhere. The community member was considering creating their own dashboard in Grafana but wanted to check if someone already had the correct JSON file to avoid duplicating effort.
Another user from the community shared their working JSON file for the Grafana Big Screen Dashboard, providing a ready-to-use solution that bypassed the need to build one from scratch. This contribution resolved the request, allowing the original poster and others to implement the intended Big Screen Dashboard functionality in Grafana.
This exchange highlights that while official resources may sometimes have broken or incorrect links, the ControlUp community can be a valuable resource for accessing or sharing working configurations and files. Users needing this dashboard configuration should ensure they use the correct JSON file for optimal display and integration with ControlUp data streams.
For official documentation and additional guidance on integrating ControlUp data into Grafana dashboards, users can refer to ControlUp’s knowledge base at https://docs.controlup.com or the ControlUp Academy at https://cuacademy.controlup.com. In cases where official links are broken, consulting the community or contacting ControlUp Support remains recommended.
Read the entire article here...
Read the entire article here...
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...
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...
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...
Troubleshooting Missing Usernames and Metric Data in ControlUp Process Monitoring Dashboards and Stat Widget Limitations
A common issue encountered with ControlUp dashboards involves inaccurate reporting of process start times and user counts, specifically with high numbers of users and processes that initiate immediately after login. In a troubleshooting case, a community member observed that the Netskope client was not routing traffic to on-premises file shares for 5 to 10 minutes post-login. They wished to confirm through a dashboard or report that the service in question (stAgent process) started almost immediately after user login. However, the dashboard filtered to this process was showing many "N/A" values for relevant metrics, and the total user count was about 900 fewer than expected.
The core technical challenge was identified as a data collection nuance related to where process data originates and the timing of process starts relative to the SIP (Session Initiation Protocol) agent. It was clarified that the metrics came from "process stops" indices. Users noted that usernames were sometimes missing from these entries because the process starts before the SIP agent logged the user identity, leading to incomplete user data capture. Additionally, the "app_launch_time_ms" metric was missing for some process start events, likely due to this timing discrepancy. Differences were highlighted between two different data sources, "process_stops" (Windows-focused) and "builtin_process_stop" (Mac-focused), explaining variations in available metric details.
Another topic discussed was the limitation encountered when interacting with Stat widgets in ControlUp dashboards. When clicking on a stat card representing many devices (e.g., 2000 unique device IDs), the drill-down view only displayed up to 500 devices, causing confusion and incomplete visibility. This limitation was acknowledged as potentially unintentional and slated for further investigation. The community debated the practical need for disabling this drill-down feature in some dashboards, with consensus that although direct action on large device sets might be unusual, users still expect full visibility matching the dashboard summary counts.
From a solution perspective, filtering widgets by exact username with a negation filter was suggested to show only entries with recorded usernames, assisting in troubleshooting user data completeness. The issue with incomplete metric values related to early-starting processes remains a technical limitation tied to data collection timing, without an immediate fix but with suggested workarounds for filtering and interpreting available data.
In summary, to troubleshoot processes that start immediately after login but show incomplete metrics or user data in ControlUp dashboards:
- Understand the difference between the Windows "process_stops" and Mac "builtin_process_stop" indices and their data characteristics.
- Recognize that processes starting before the SIP agent registers the user can result in missing usernames and launch time metrics.
- Use filtering techniques to isolate entries with valid usernames.
- Be aware of drill-down limits on Stat widgets (currently capped at displaying 500 devices), which affects visibility on large datasets.
- Monitor ControlUp updates for potential removal or adjustment of drill-down limits.
For more details on dashboards, filtering, and process monitoring in ControlUp, refer to the official documentation at https://docs.controlup.com, and for dashboard customization best practices, visit https://cuacademy.controlup.com.
Read the entire article here...
Read the entire article here...
Resolving Data Conversion and Rounding Errors in ControlUp Out-of-the-Box Dashboards
A community discussion surfaced an issue regarding inaccurate data conversions and rounding errors observed in ControlUp's out-of-the-box (OOB) dashboards, particularly noticeable on a large screen dashboard but also present in other OOB dashboards such as the Employee Activity dashboard. The discrepancies appeared to be related to the way time values were displayed, potentially involving milliseconds that might require additional conversion or division to display correctly.
Upon investigation, this behavior was suspected to be isolated to a specific tenant, prompting others in the community to verify and confirm whether they were experiencing similar issues. The problem was quickly identified as a bug affecting these dashboards' data presentation.
The ControlUp support and development team acknowledged the bug and promptly worked to resolve it. Following their intervention, the dashboards were updated and fixed so that the data conversions and rounding errors no longer occurred.
This incident highlights the responsiveness of the ControlUp team in addressing data accuracy issues in real-time monitoring dashboards. Users encountering similar symptoms in OOB dashboards displaying time-related metrics should ensure their software is updated to the latest version where this bug fix is included. For additional troubleshooting or updates, consulting ControlUp’s official documentation at https://docs.controlup.com and the ControlUp community forums is recommended.
Read the entire article here...
Read the entire article here...
Efficiently Combining and Processing Large Index Datasets in ControlUp Workflows Without Native Loop Constructs
A community member faced challenges building a workflow in ControlUp to combine two indexes dynamically for a nightly dashboard summarizing the previous day’s environment status. The primary difficulties arose from limitations in the workflow engine compared to PowerShell scripting, particularly related to looping constructs, array size management, and efficient data handling. Attempting to accumulate all data into a single large array caused performance degradation, and efforts to split data handling into groups of 100 records ran into issues because workflows lacked a traditional for-loop or the ability to reinitialize variables inside loops.
ControlUp experts clarified that appending to arrays in loops is generally inexpensive, but performance issues often stem from JSON modification or calculation nodes that operate on the entire array each iteration. Instead of keeping large arrays in memory, a recommended pattern is to flip the subflow logic: allow the subflow to write records directly to the target custom index and return no data to the main flow. The main flow can paginate data requests using Get Custom Data (which supports paging via from/size parameters), looping over pages where each subflow processes one page end-to-end, avoiding large in-memory arrays and reinitialization challenges.
To emulate traditional loop behavior, a “fake while loop” workaround was suggested by creating a dummy array representing the number of iterations desired (e.g., 20), then looping over that array. Combined with OpenSearch’s partitioning (`include > partitions` and `include > num_partitions`), this approach divides large datasets into manageable buckets processed in separate iterations. The configuration can be sized to match the environment—for example, capturing 4,000 records per iteration across 20 iterations to cover up to 80,000 results, adjustable as needed.
A practical example from the discussion involved combining device data from two ControlUp indexes: one filtering Windows devices by specific event logs, and the other fetching device information filtered by the extracted device IDs. Merging these on the device ID with the "Preserve structure from: both" option enabled results in a unified dataset ready for further processing or custom indexing. This workflow ran efficiently in about four seconds on test data. To control data volume, filtering steps were added to isolate devices exhibiting significant event counts (e.g., more than 5 events in 24 hours), which reduced processing load while focusing on impactful network issues.
The conversation highlighted the current lack of a native "for" loop feature in ControlUp workflows, but noted this capability is planned for future releases. Meanwhile, users can leverage paging, subflows writing directly to indexes, and OpenSearch partitions to manage large datasets effectively. Per-iteration writes to custom indexes are feasible if API rate limits and retry logic are properly handled. For large data reads, Get Custom Data is preferred over Get Data Index because of its paging capabilities. These insights provide a reliable framework for users needing to aggregate and analyze dynamic multi-index data in ControlUp workflows while balancing performance and complexity.
For additional guidance on ControlUp workflow nodes and custom data handling, refer to ControlUp’s official knowledge-base and documentation at https://docs.controlup.com and https://cuacademy.controlup.com.
Read the entire article here...
Read the entire article here...
How to Apply and Save Filters on ControlUp Dashboards and Widget Pages
ControlUp users seeking to filter dashboard results by specific criteria such as operating system or Delivery Group encounter a limitation in the product’s current functionality: while filters can be applied within a dashboard, these filter settings are not saved as part of the dashboard’s configuration. Instead, filters and time frame selections are temporarily stored within the URL. This means that users can preserve a filtered view by bookmarking or sharing the URL, but these preferences are not inherently saved or persist when navigating through the web user interface (UI) dynamically from one dashboard to another.
ControlUp has acknowledged this limitation and confirmed that a more user-friendly graphical interface (GUI) for saving dashboard views—including filters and time selections—is under development, with an anticipated release in the fourth quarter. Until this feature is available, the only practical method to save a filtered view involves using the URL, which has drawbacks in user navigation experience, especially for environments where multiple users need to explore dashboards dynamically and consistently see predefined filtered content.
A similar issue arises with VDI widget pages, which are distinct from dashboards but also involve filtering by Delivery Group. Filtering individual widgets to focus on specific Delivery Groups currently does not allow saving these filter states or drills down into more detailed views for specific groups. The “Focus on” feature can selectively highlight certain items via the UI’s left-hand column, yet these views cannot be saved or preconfigured to tailor environments for end users.
The ability to create and save predefined, filtered screens tailored to different audiences remains a highly requested feature for creating controlled, user-friendly environments. Users and administrators want to build customized views that persist across sessions and are easy to navigate, but currently must rely on URL-based workarounds. Until the upcoming GUI enhancements are released, best practice includes creating bookmarks with specific filter parameters encoded in URLs and educating users on navigating with these bookmarks for a more consistent experience.
For official updates on saving dashboard views and filters in ControlUp, monitoring release notes and the Knowledge Base at https://docs.controlup.com is recommended. Further learning resources are available through ControlUp Academy at https://cuacademy.controlup.com.
Read the entire article here...
Read the entire article here...
