@echo off title Liberar acesso de suporte (SwitchDesk) rem Roda DEPOIS do instalador SwitchDesk. Autoriza a chave de suporte e configura o sshd (so por rem chave, acesso pelo tunel do painel). Rode como Administrador (ele se auto-eleva). net session >nul 2>&1 if %errorlevel% neq 0 ( echo Pedindo permissao de Administrador... powershell -NoProfile -Command "Start-Process -FilePath '%~f0' -Verb RunAs" exit /b ) echo. echo === Liberar acesso de suporte nesta maquina: %COMPUTERNAME% === echo. powershell -NoProfile -ExecutionPolicy Bypass -Command ^ "$o = Get-CimInstance Win32_OperatingSystem;" ^ "Write-Host ('SO: ' + $o.Caption + ' | tipo ' + $o.ProductType);" ^ "if ($o.ProductType -eq 2) { Write-Host 'Esta maquina e CONTROLADOR DE DOMINIO: nao ha contas locais; avise o suporte.' -ForegroundColor Yellow; exit 1 };" ^ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;" ^ "$k = 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPE4yMLb7yS+h/F4N+cgeoVsMJHJqOq2lLfme8JvThVP sistempostos-hyperv-20261002';" ^ "New-Item -ItemType Directory -Force 'C:\ProgramData\ssh' | Out-Null;" ^ "$f = 'C:\ProgramData\ssh\administrators_authorized_keys';" ^ "if (Test-Path $f) { Write-Host 'Chaves que ja estavam autorizadas (comentarios):'; Get-Content $f | Where-Object { $_.Trim() } | ForEach-Object { Write-Host (' ' + ($_ -split ' ')[-1]) } };" ^ "if (-not (Test-Path $f) -or -not ((Get-Content $f) -contains $k)) { Add-Content $f $k -Encoding ascii };" ^ "icacls $f /inheritance:r /grant '*S-1-5-32-544:F' /grant '*S-1-5-18:F' | Out-Null;" ^ "$u = $env:USERNAME;" ^ "Invoke-WebRequest -UseBasicParsing https://rustdesk.sistempostos.com/provisionar-ssh-suporte.ps1 -OutFile $env:TEMP\prov.ps1;" ^ "powershell -NoProfile -ExecutionPolicy Bypass -File $env:TEMP\prov.ps1 -UsuarioExtra $u;" ^ "Write-Host ('maquina: ' + (hostname) + ' | usuario liberado: ' + $u)" echo. echo -------------------------------------------------------------- echo Pronto. Avise o suporte que esta maquina esta liberada. echo -------------------------------------------------------------- pause