Improving DEX: Step Three – Remediation

Solving problems quickly and efficiently is where IT can shine or have the employees lose faith in support because the mean time to repair (MTTR) is one of the most important metrics when measuring the effectiveness of IT support.  In the last two blogs of this series, we discussed alerting and troubleshooting. In this blog, we will discuss ways to remediate desktop support issues so you can solve support problems faster.
Improving the Digital Employee Experience blog series:


Remediation with Edge DX use cases

Edge DX can assist in remediating almost any digital employee experience issue. Some remediations are as simple as a pop-up notification to tell the user how to fix something themselves, whereas other remediations use scripts to fix a problem seamlessly. Below is a list of my favorite remediation areas to give you a sense of what can be accomplished with ControlUp Edge DX.

  • Remediate network
    • Managed network
      • Send notifications to internal networking teams
    • Unmanaged networks
      • Send notifications to users to:
        • Move closer to the Wi-Fi router
        • Upgrade networking hardware
        • Upgrade or change ISP’s
  • Remediate hardware
    • High CPU usage
      • Kill the process of out-of-control application
    • Low memory
      • Restart an application that has a known memory leak
    • Low disk space
      • Run a disk cleanup script
    • Failing battery
      • Notify the user to order a new battery
  • Remediate Operating Systems
    • Fix BSODs with similar hardware
    • Remove unneeded startup applications
  • Remediate local applications
    • Configure default peripherals for UC
    • Clear Unified Comms cache
    • Adjust registry values
  • Remediate SaaS and Web applications
    • Notify users when SaaS or Web apps have performance or service down problems
  • Remediate Geographical issues
    • Notify users of geographical areas about problems in their area


Remediating with the Edge DX User Interface

Edge DX provides IT with incredible data to find and fix desktop issues. As we see here in Figure 1, the CPU usage and the CPU Queue Length are incredibly high, causing the Device Score to dive down from a 10 to 6.

Figure 1, Device details with high CPU
Figure 1, Device details with high CPU

Within Edge DX Device Details, you can hover over the CPU Usage, and a pop-up will reveal the processes with the highest CPU. Click the Active Processes tab to see what process is causing the CPU Usage to spike over time. Figure 2 shows that the process cpuburner.exe is taking all of the CPU.

Figure 2, Edge DX Active Processes
Figure 2, Edge DX Active Processes

In the example above, once you have determined the cause of the problem, you can click the red X to the right of the process (as in Figure 2) to terminate the process.

Figure 3, Edge DX Active Processes Terminate
Figure 3, Edge DX Active Processes Terminate

Figure 3 shows a dialog box to ensure you want to terminate the process on the remote computer.

To remediate problems with desktops with Edge DX, you can use the UI or Remote Assist tools such as Remote Control, but I only like to use Remote Control as a last resort or to train users how to fix an issue themselves.


Remediating with Action Scripts

Edge DX UI does a great job of helping troubleshoot, but when you need to remediate a problem like clearing the MS Teams cache or freeing up disk space, you will want to use action scripts. Edge DX supports all major scripting languages such as PowerShell, VBScript, Jscript, Command Script, Python, Python 3Bash, Swift, and Shell Script. With Edge DX, you can choose what scripting language you want to run on what operating system since not all operating systems support all scripting languages.

Not good at scripts? Use Chat GPT or GitHub

I have been in IT for longer than I want to admit, yet I am still uncomfortable writing scripts from scratch. When I need a PowerShell script, I first turn to Chat GPT or GitHub as a starting point to create a script that I can test on a computer.

Ask ChatGPT to write a script for you, such as “Write a PowerShell script to delete Microsoft Teams cache on a Windows computer.”

For more on scripts, check out Guy Leech’s video, Scripts from Zero to Hero.

Testing a script on a remote computer

Writing a script, having ChatGPT help you create one, or finding a script on GitHub is one thing. Getting it to work in your environment is another. I like to test my scripts on a virtual machine with an Edge DX agent on it, allowing me to revert back to a saved state and re-test again if I need to.

Scripts can be run manually from a remote shell, remote control, or by saving a script and targeting that script to run on a remote machine or automatically triggered from an alert. To learn more about the remote shell and remote control features, read remote control options for Edge DX.

Below is a sample script I got from ChatGPT to stop Zoom and then clear the Zoom cache.

# Close Zoom if it's running
Stop-Process -Name "Zoom" -Force -ErrorAction SilentlyContinue

# Define Zoom cache folder paths
$zoomCachePath = [System.IO.Path]::Combine($env:APPDATA, "Zoom\data")
$zoomCachePathLocal = [System.IO.Path]::Combine($env:LOCALAPPDATA, "Zoom\data")

# Delete Zoom cache folders
Remove-Item -Path $zoomCachePath -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path $zoomCachePathLocal -Recurse -Force -ErrorAction SilentlyContinue

Write-Host "Zoom cache deleted successfully."


Auto-Remediations with Alerts and Script Actions

Self-healing, automated remediation, whatever you want to call it, it works, it’s easy, and the possibilities are endless. Alerts can trigger a script action to remediate known issues automatically. For example, let’s say that Zoom has communication problems when the cache is larger than 2GB. We know we can run a script to clear the cache, but when do we want to run it? In this case, we can go at this a couple of ways. We can run a script at a time interval or at logon to clear the cache if the size exceeds 2GB, or we can run a script to clear the cache when the MOS score falls below 3.

For more information on MOS scoring, see Deliver a Better Experience with Teams & Zoom Calls.

To set up Edge DX to automatically remediate a low MOS score by deleting the zoom cache folder, we first start with creating a remediation script.

Figure 4, Edge DX Delete Zoom Cache
Figure 4, Edge DX Delete Zoom Cache

In Figure 4, you can see that the remediation script called Delete Zoom Cache will test to see if the zoom/data folder is larger than 2GB; if so, it will delete all the contents of that folder.

The next step is to create an alert to trigger the script above when the average MOS score is <= 3.

Figure 5, Edge DX alert for low MOS score
Figure 5, Edge DX alert for low MOS score

Figure 5 looks at the data index called edgedx_ucc_sessions in the average_mos_score column with a value <= 3 and will then run a “Custom Action – User” script called Delete Zoom Cache. A combination of an alert with a script action creates a powerful auto-remediation that can detect and fix almost any known issue affecting the digital employee experience.

About the author

Jeff Johnson

Jeff is a product marketing manager for ControlUp. He is responsible for evangelizing the Digital Employee Experience on physical endpoints such as Windows, macOS, and Linux. Jeff has spent his career specializing in enterprise strategies for client computing, application delivery, virtualization, and systems management. Jeff was one of the key architects of the Consumerization of IT Strategy for Microsoft, which has redefined how enterprises allow unmanaged devices to access corporate intellectual property.