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...
ControlUp Community Training & Support Archives
All training and support-related archives from inside the ControlUp Community on Slack.
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...
Understanding and Configuring the Location Field for Citrix Cloud Sessions in ControlUp
In ControlUp's Sessions view, the Location field may appear blank even when session information like Client IP is correctly populated. This is because the Location column is specifically linked to Citrix Cloud environments and represents the "resource location" of Citrix Cloud Sessions, not the client's geographic location or data coming from Remote DX. The field corresponds to the `CitrixCloudColumns.Location` attribute in the ControlUp schema, which pulls its data from Citrix Monitor OData through the ControlUp Citrix Cloud EUC connection.
For Citrix Cloud users, ensuring the Location field populates requires that resource locations be properly configured and assigned within the Citrix Cloud administrative portal. Administrators should verify that their resource locations are defined in the Citrix Cloud admin portal under Resource Locations and that these are correctly associated with their sessions and resources. Without proper resource location assignment, ControlUp cannot display this information in the Location column.
This functionality is specific to Citrix Cloud and does not apply to on-premises Citrix deployments or other remote services. It also does not derive from ControlUp Remote DX or other integrations; rather, it depends strictly on the integration between ControlUp and Citrix Cloud session data via the Citrix Monitor OData feed.
To summarize, if the Location field is blank in ControlUp for Citrix sessions, the key step is to confirm that resource locations are configured and assigned within the Citrix Cloud portal. Proper configuration ensures that ControlUp can retrieve and display the location data as intended.
Read the entire article here...
Read the entire article here...
Changes to Default Filters for Synthetic Monitoring Scouts in ControlUp and How to Manage Disabled Scouts
ControlUp made a recent change to the default filter behavior for synthetic monitoring scouts within their platform. Previously, scouts that were disabled via workflows, such as those scheduled to run only certain times of the day, still appeared in the default Scouts view. With the update, disabled scouts no longer show up under the default filter, effectively narrowing the default display to only active scouts. This change was implemented to provide users with a clearer and less cluttered view focused on currently running synthetic monitoring instances.
As a result, users with scouts enabled and disabled dynamically through workflows may need to manually adjust their filters to locate and manage disabled scouts. Specifically, to view scouts that are currently disabled, users must explicitly apply a filter that includes non-active scouts since they will no longer appear by default.
This adjustment aims to improve user experience by reducing confusion and improving table clarity when managing synthetic monitoring. Users are encouraged to provide feedback to ControlUp if this change affects their workflow or if they have suggestions for further improvements. For additional configuration tips about synthetic monitoring scouts and filters, users can refer to the ControlUp official documentation and knowledge base at https://docs.controlup.com.
Read the entire article here...
Read the entire article here...
Overcoming the 100-Device Limit in ControlUp Workflow’s List Devices Node
The ControlUp Workflow *List Devices* node has a built-in limit of returning only 100 device records per query. This limitation affects workflows attempting to process larger device inventories, such as fetching or looping through over 100 devices. The loop node itself does not have a limit and processes all records provided by the *List Devices* node. Therefore, the root cause of the problem is the *List Devices* node restricting the dataset to 100 devices, not the loop processing.
Users trying to obtain results for 500 or more devices found that the *List Devices* node response capped at 100, blocking workflows from scaling to larger environments. Currently, no filters or tags applied change this default limit on the *List Devices* node response. This cap is separate from volume limits related to data size, such as the 1GB flow size limit.
As a recommended workaround to bypass this 100-device limit, users can employ the *Get Custom Data* node to execute custom Data Access Layer (DAL) queries. By enabling the "Get all records" option in this node, workflows can retrieve all devices in the organization without the 100-device limitation. This method was tested successfully with over 400 tagged devices, confirming its viability for larger inventories.
ControlUp representatives acknowledged the 100-device limit in the *List Devices* node and indicated plans to consider removing or adjusting this restriction in future updates. Until then, users needing to work with more than 100 devices in workflows should use custom DAL queries via *Get Custom Data* as the primary method to retrieve full device lists.
For further details, users may consult the ControlUp Knowledge Base and official documentation on Workflows and DAL queries at https://docs.controlup.com. The *Get Custom Data* node and its "Get all records" feature provide a powerful alternative for advanced workflow scenarios that require comprehensive device data beyond the standard node limits.
Read the entire article here...
Read the entire article here...
Handling Script Failures and Output in ControlUp Workflows: Error Ignoring, Conditional Logic, and Feature Updates
In a ControlUp workflow, users may want to handle script failures gracefully, akin to a "try-catch" mechanism seen in traditional programming. A user inquired about running an alternative action when a script run on a device fails. Currently, if the script fails, the workflow ends with an error, and no subsequent action is triggered automatically. The recommended approach is to use the "Ignore Error" option on the "Run Script" node, which prevents the workflow from stopping on error. Afterward, an "If Else" node can be added to check the status of the "Run Script" node and conditionally execute alternative actions based on success or failure. This method enables branching logic without halting the workflow.
A related challenge encountered was handling multiline output messages from scripts. The native ControlUp environment does not currently support converting multiline output into a single line with or without explicit newline characters such as "\n". The ControlUp team acknowledged this need and plans to introduce this string transformation functionality soon, with expectations for release within a week. While this feature is pending, custom scripting or intermediate handling outside ControlUp might be required to process multiline outputs.
Users also raised the idea of more advanced scripting capabilities within workflows, such as embedding secure, sandboxed JavaScript actions or subflows callable like functions. The team confirmed interest in this concept but noted that it is not currently on the immediate roadmap and will require future prioritization.
Finally, a limitation was noted: timeout errors from script execution (defaulting to 60 minutes) cannot be ignored by the "Ignore Error" setting; when a script times out, the workflow fails by design. The ControlUp team is investigating possible improvements to how timeouts are handled in workflows.
For now, users can implement error handling in workflows using the "Ignore Error" flag combined with conditional checks but should be aware of limitations around timeout errors and multiline output processing. Updates and added features are in development to enhance workflow flexibility and scripting capabilities. For more details on creating and managing workflows, users can visit the official ControlUp documentation at https://docs.controlup.com or the ControlUp Academy at https://cuacademy.controlup.com.
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...
How to Ensure ControlUp Compliance Scripts Correctly Return and Respect Exit Codes to Avoid False Positives
In ControlUp, when executing scripts for Compliance monitoring, it is crucial that the system correctly recognizes and respects the exit codes of these scripts to avoid false positive or false negative compliance reports. One common issue reported involves ControlUp failing to honor the exit codes returned by compliance scripts, which can lead to inaccurate compliance status being displayed.
To address this, users should ensure that their compliance scripts are properly configured and that ControlUp is set up to interpret script exit codes correctly. ControlUp's official guidance on integrating scripts for compliance purposes includes instructions on how to add scripts correctly and manage their execution and return values. This documentation explains how ControlUp evaluates the success or failure of compliance scripts based on the exit codes, and how improper scripting or configuration can cause misinterpretation of compliance results.
The primary resource for resolving issues related to script exit code recognition in ControlUp Compliance is the official support article available at: https://support.controlup.com/docs/how-to-add-scripts-to-controlup-for-compliance. This article provides explicit steps and examples for adding scripts into ControlUp for compliance checks, including how scripts should signal their outcomes through exit codes, which in turn informs the compliance reporting mechanism.
Users experiencing false positive compliance alerts should verify that their scripts are designed to return proper exit codes — typically, an exit code of zero indicates success (compliant state), whereas any non-zero exit code indicates failure (non-compliant state). Correctly following the official scripting guidelines and ensuring scripts adhere to these conventions will help ControlUp generate accurate compliance reports without the issue of false positives due to unrecognized or improperly handled exit codes.
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...
Introducing Blueprints for MSPs: Streamlining Multi-Tenant Configuration Management in ControlUp
ControlUp has launched Blueprints as a generally available feature specifically designed for Managed Service Providers (MSPs) to streamline the management of configurations across multiple customer tenants. Blueprints enable MSPs to create reusable configuration templates that can be applied consistently across various tenant environments. This approach helps reduce repetitive administrative tasks, standardizes deployments, and saves time in both onboarding new customers and maintaining existing tenant fleets.
The Blueprints feature supports creating templates for configurations that MSPs commonly use and allows for customization by adding or overriding specific settings to meet individual tenant requirements. Additionally, Blueprints includes version tracking and a diff preview function, which facilitates reviewing changes between different versions of configuration templates, ensuring accuracy and control over modifications.
MSPs with Tenant Manager access can now use Blueprints to efficiently roll out standardized configurations across their managed environments. This capability is particularly valuable for improving operational consistency and simplifying management workflows. Detailed documentation and guidance on using Blueprints are available at ControlUp’s support site: https://support.controlup.com/docs/blueprints.
MSPs adopting Blueprints can expect to save significant time and effort in tenant configuration processes, thus enhancing their service delivery efficiency and consistency.
Read the entire article here...
Read the entire article here...
