[CmdletBinding()] param( [string]$Destination = 'C:\NODEDC\dc-amd-connector' ) Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' function Require-Administrator { $identity = [Security.Principal.WindowsIdentity]::GetCurrent() $principal = New-Object Security.Principal.WindowsPrincipal($identity) if (-not $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { throw 'Run this uninstaller from an elevated PowerShell window.' } } Require-Administrator $docker = Get-Command docker -CommandType Application -ErrorAction SilentlyContinue | Select-Object -First 1 if ($docker -and (Test-Path -LiteralPath (Join-Path $Destination 'docker-compose.yml'))) { Push-Location $Destination try { & $docker.Path compose down --remove-orphans } finally { Pop-Location } } Remove-NetFirewallRule -DisplayName 'NODE.DC DC AMD Connector (NAS only)' -ErrorAction SilentlyContinue $startup = [Environment]::GetFolderPath([Environment+SpecialFolder]::Startup) $launcher = Join-Path $startup 'NODE.DC DC AMD Connector - Docker Desktop.cmd' Remove-Item -LiteralPath $launcher -Force -ErrorAction SilentlyContinue Remove-Item -LiteralPath $Destination -Recurse -Force -ErrorAction SilentlyContinue Write-Host 'DC AMD Connector removed. Docker Desktop and unrelated containers were not changed.'