# 天翼云一键复活: frpc + glances + 注册开机自启 $ErrorActionPreference='Continue' Write-Host '>>> [1/3] 启动 frpc 隧道...' Get-Process frpc -ErrorAction SilentlyContinue | Stop-Process -Force try { Start-ScheduledTask -TaskName frpc -ErrorAction Stop; Start-Sleep 3 } catch {} if (-not (Get-Process frpc -ErrorAction SilentlyContinue)) { $f = Get-ChildItem 'C:\frp' -Recurse -Filter frpc.exe -ErrorAction SilentlyContinue | Select-Object -First 1 if ($f) { Start-Process -WindowStyle Hidden $f.FullName -ArgumentList '-c',(Join-Path $f.DirectoryName 'frpc.toml') } } Write-Host '>>> [2/3] 写 glances.bat + 注册开机自启任务...' $py='C:\Python314\python.exe' Set-Content -Path 'C:\glances.bat' -Value ($py + ' -m glances -w -t 5 > C:\glances.log 2>&1') -Encoding Ascii schtasks /create /tn glances /tr C:\glances.bat /sc onstart /ru SYSTEM /rl HIGHEST /f | Out-Null Write-Host '>>> [3/3] 立即启动 glances(脱离会话)...' Get-CimInstance Win32_Process -Filter "name='python.exe'" -ErrorAction SilentlyContinue | Where-Object { $_.CommandLine -like '*glances*' } | ForEach-Object { Invoke-CimMethod -InputObject $_ -MethodName Terminate | Out-Null } Invoke-CimMethod -ClassName Win32_Process -MethodName Create -Arguments @{CommandLine='cmd /c C:\glances.bat'} | Out-Null Start-Sleep 8 Write-Host ('frpc 运行: ' + [bool](Get-Process frpc -ErrorAction SilentlyContinue)) Write-Host ('glances 61208: ' + (Test-NetConnection 127.0.0.1 -Port 61208 -WarningAction SilentlyContinue).TcpTestSucceeded) Write-Host '=== 完成,几秒后面板天翼云框即恢复 ==='