{"id":1693,"date":"2025-10-27T04:38:09","date_gmt":"2025-10-27T04:38:09","guid":{"rendered":"https:\/\/www.ultrexstaff.com\/?p=1693"},"modified":"2025-10-27T04:38:10","modified_gmt":"2025-10-27T04:38:10","slug":"uninstall-atera-agent-by-powershell","status":"publish","type":"post","link":"https:\/\/www.ultrexstaff.com\/?p=1693","title":{"rendered":"Uninstall Atera agent by powershell"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>How to Uninstall the Atera Agent via PowerShell Script<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Purpose<\/strong><\/h3>\n\n\n\n<p>This article explains how to completely remove the <strong>Atera Agent<\/strong> (and any associated Splashtop components) from a Windows computer using a PowerShell script.<\/p>\n\n\n\n<p>This process is typically required when:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>An agent installation has become corrupted or stuck.<\/li>\n\n\n\n<li>A device was previously managed under a different customer.<\/li>\n\n\n\n<li>The Atera trial or old deployment needs to be fully cleaned up before reinstalling.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>When to Use<\/strong><\/h3>\n\n\n\n<p>Use this procedure before reinstalling the Atera Agent, particularly if:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The device shows as \u201cOffline\u201d or \u201cUnmanaged\u201d in the Atera console even though the agent is installed.<\/li>\n\n\n\n<li>The machine was renamed or reassigned to a new customer site.<\/li>\n\n\n\n<li>Previous uninstall attempts (via Control Panel or MSI uninstall) failed.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Steps to Remove the Atera Agent<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1. Reboot and Prepare the System<\/strong><\/h4>\n\n\n\n<p>Before running the script:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Rename the computer if needed (for reassignment or cleanup).<\/li>\n\n\n\n<li><strong>Reboot<\/strong> the device to ensure no agent processes are stuck.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>2. Open PowerShell ISE as Administrator<\/strong><\/h4>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Press <strong>Start<\/strong>, type <strong>PowerShell ISE<\/strong>, right-click, and choose <strong>Run as Administrator<\/strong>.<\/li>\n\n\n\n<li>Create a <strong>new blank script<\/strong> window.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>3. Copy and Paste the Uninstall Script<\/strong><\/h4>\n\n\n\n<p>Paste the full script from Atera\u2019s documentation (linked below):<\/p>\n\n\n\n<p>\ud83d\udc49 <a href=\"https:\/\/support.atera.com\/hc\/en-us\/articles\/5849002658844-How-do-I-remove-the-Atera-Agent-after-my-trial-has-expired\">Atera Official Script Reference<\/a><\/p>\n\n\n\n<p>Or use the version below (verified and compatible for Ultrex use):<\/p>\n\n\n\n<p>Function Get-UninstallCodes ([string]$DisplayName) {<br>&#8216;HKLM:SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall&#8217;, &#8216;HKLM:SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall&#8217; | ForEach-Object {<br>Get-ChildItem -Path $_ -ErrorAction SilentlyContinue | ForEach-Object {<br>If ( $(Get-ItemProperty -Path $_.PSPath -Name &#8216;DisplayName&#8217; -ErrorAction SilentlyContinue) -and ($(Get-ItemPropertyValue -Path $_.PSPath -Name &#8216;DisplayName&#8217; -ErrorAction SilentlyContinue) -eq $DisplayName) ) {<br>$str = (Get-ItemPropertyValue -Path $_.PSPath -Name &#8216;UninstallString&#8217;)<br>$UninstallCodes.Add($str.Substring(($str.Length &#8211; 37),36)) | Out-Null<br>}}}}<\/p>\n\n\n\n<p>Function Get-ProductKeys ([string]$ProductName) {<br>Get-ChildItem -Path &#8216;HKCR:Installer\\Products&#8217; | ForEach-Object {<br>If ( $(Get-ItemProperty -Path $_.PSPath -Name &#8216;ProductName&#8217; -ErrorAction SilentlyContinue) -and ($(Get-ItemPropertyValue -Path $_.PSPath -Name &#8216;ProductName&#8217; -ErrorAction SilentlyContinue) -eq $ProductName) ) {<br>$ProductKeys.Add($_.PSPath.Substring(($_.PSPath.Length &#8211; 32))) | Out-Null<br>}}}<\/p>\n\n\n\n<p>Function Get-ServiceStatus ([string]$Name) { (Get-Service -Name $Name -ErrorAction SilentlyContinue).Status }<br>Function Stop-RunningService ([string]$Name) { If ( $(Get-ServiceStatus -Name $Name) -eq &#8220;Running&#8221; ) { Write-Output &#8220;Stopping : ${Name} service&#8221; ; Stop-Service -Name $Name -Force }}<br>Function Remove-StoppedService ([string]$Name) { $s = (Get-ServiceStatus -Name $Name); If ( $s ) { If ( $s -eq &#8220;Stopped&#8221; ) { Write-Output &#8220;Deleting : ${Name} service&#8221;; Start-Process &#8220;sc.exe&#8221; -ArgumentList &#8220;delete ${Name}&#8221; -Wait } } Else { Write-Output &#8220;Not Found: ${Name} service&#8221; }}<br>Function Stop-RunningProcess ([string]$Name) { $p = (Get-Process -Name $_ -ErrorAction SilentlyContinue); If ( $p ) { Write-Output &#8220;Stopping : ${Name}.exe&#8221; ; $p | Stop-Process -Force } Else { Write-Output &#8220;Not Found: ${Name}.exe is not running&#8221;}}<br>Function Remove-Path ([string]$Path) { If ( Test-Path $Path ) { Write-Output &#8220;Deleting : ${Path}&#8221;; Remove-Item $Path -Recurse -Force } Else { Write-Output &#8220;Not Found: ${Path}&#8221; }}<br>Function Get-AllExeFiles ([string]$Path) { If ( Test-Path $Path ) { Get-ChildItem -Path $Path -Filter *.exe -Recurse | ForEach-Object { $ExeFiles.Add($_.BaseName) | Out-Null } }}<\/p>\n\n\n\n<p>New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT | Out-Null<\/p>\n\n\n\n<p>$UninstallCodes = New-Object System.Collections.ArrayList<br>&#8216;AteraAgent&#8217;, &#8216;Splashtop for RMM&#8217;, &#8216;Splashtop Streamer&#8217; | ForEach-Object { Get-UninstallCodes -DisplayName $_ }<\/p>\n\n\n\n<p>$ProductKeys = New-Object System.Collections.ArrayList<br>&#8216;AteraAgent&#8217;, &#8216;Splashtop for RMM&#8217;, &#8216;Splashtop Streamer&#8217; | ForEach-Object { Get-ProductKeys -ProductName $_ }<\/p>\n\n\n\n<p>$Directories = @(<br>&#8220;${Env:ProgramFiles}\\ATERA Networks&#8221;,<br>&#8220;${Env:ProgramFiles(x86)}\\ATERA Networks&#8221;,<br>&#8220;${Env:ProgramFiles}\\Splashtop\\Splashtop Remote\\Server&#8221;,<br>&#8220;${Env:ProgramFiles(x86)}\\Splashtop\\Splashtop Remote\\Server&#8221;,<br>&#8220;${Env:ProgramFiles}\\Splashtop\\Splashtop Software Updater&#8221;,<br>&#8220;${Env:ProgramFiles(x86)}\\Splashtop\\Splashtop Software Updater&#8221;,<br>&#8220;${Env:ProgramData}\\Splashtop\\Splashtop Software Updater&#8221;<br>)<\/p>\n\n\n\n<p>$ExeFiles = New-Object System.Collections.ArrayList<br>&#8220;${Env:ProgramFiles}\\ATERA Networks&#8221; | ForEach-Object { Get-AllExeFiles -Path $_ }<\/p>\n\n\n\n<p>$ServiceList = @(&#8216;AteraAgent&#8217;,&#8217;SplashtopRemoteService&#8217;,&#8217;SSUService&#8217;)<\/p>\n\n\n\n<p>$RegistryKeys = @(<br>&#8216;HKLM:SOFTWARE\\ATERA Networks&#8217;,<br>&#8216;HKLM:SOFTWARE\\Splashtop Inc.&#8217;,<br>&#8216;HKLM:SOFTWARE\\WOW6432Node\\Splashtop Inc.&#8217;<br>)<\/p>\n\n\n\n<p>$UninstallCodes | ForEach-Object { Write-Output &#8220;Uninstall: ${<em>}&#8221; ; Start-Process &#8220;msiexec.exe&#8221; -ArgumentList &#8220;\/X{${<\/em>}} \/qn&#8221; -Wait }<\/p>\n\n\n\n<p>$ServiceList | ForEach-Object { Stop-RunningService -Name $_ }<\/p>\n\n\n\n<p>$ExeFiles.Add(&#8216;reg&#8217;) | Out-Null<br>$ExeFiles | ForEach-Object { Stop-RunningProcess $_ }<\/p>\n\n\n\n<p>$ServiceList | ForEach-Object { Remove-StoppedService -Name $_ }<\/p>\n\n\n\n<p>$ProductKeys | ForEach-Object { Remove-Path -Path &#8220;HKCR:Installer\\Products\\${_}&#8221; }<\/p>\n\n\n\n<p>Remove-PSDrive -Name HKCR<\/p>\n\n\n\n<p>$RegistryKeys | ForEach-Object { Remove-Path -Path $_ }<\/p>\n\n\n\n<p>$Directories | ForEach-Object { Remove-Path -Path $_ }<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>4. Run the Script<\/strong><\/h4>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Click the <strong>Run Script (F5)<\/strong> button.<\/li>\n\n\n\n<li>Wait for it to finish \u2014 it may take a few minutes.<\/li>\n\n\n\n<li>Review the output for any errors or missing paths.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>5. Reboot the Computer<\/strong><\/h4>\n\n\n\n<p>After the script completes, <strong>reboot again<\/strong>.<\/p>\n\n\n\n<p>This ensures all registry keys and service entries are cleared.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6. Reinstall the Atera Agent<\/strong><\/h3>\n\n\n\n<p>Once the machine has restarted:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use the <strong>CMD installation method<\/strong> from Atera instead of the .MSI installer. This ensures the device correctly registers to the right <strong>customer\/site<\/strong> in your Atera dashboard.<\/li>\n<\/ul>\n\n\n\n<p>Example CMD install:<\/p>\n\n\n\n<p>msiexec \/i &#8220;AteraAgentSetup.msi&#8221; CUSTOMER_ID=123456 \/qn<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Final Notes<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Always perform a reboot <strong>before and after<\/strong> running the script.<\/li>\n\n\n\n<li>Confirm that all Atera and Splashtop folders are gone before reinstalling.<\/li>\n\n\n\n<li>For stubborn removals, re-run PowerShell as Admin and execute the script again.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>How to Uninstall the Atera Agent via PowerShell Script Purpose This article explains how to completely remove the Atera Agent (and any associated Splashtop components) from a Windows computer using a PowerShell script. This process is typically required when: When to Use Use this procedure before reinstalling the Atera Agent, particularly if: Steps to Remove [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[123,118],"tags":[],"class_list":["post-1693","post","type-post","status-publish","format-standard","hentry","category-atera","category-installation-guides","post-preview"],"_links":{"self":[{"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=\/wp\/v2\/posts\/1693","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1693"}],"version-history":[{"count":1,"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=\/wp\/v2\/posts\/1693\/revisions"}],"predecessor-version":[{"id":1694,"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=\/wp\/v2\/posts\/1693\/revisions\/1694"}],"wp:attachment":[{"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1693"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1693"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}