Otimização do Windows com PowerShell: Segurança, Privacidade e Desempenho
Windows 10/11 Otimizado:
Segurança, Privacidade e Desempenho com PowerShell

Se você deseja fortalecer a segurança, proteger sua privacidade e maximizar o desempenho do Windows, este guia traz um script avançado, desenvolvido com as melhores práticas do mercado em TI, cibersegurança e administração de sistemas.
Por que usar este script?
- 🔒 Segurança Aprimorada: Bloqueio de malware, desativação de protocolos vulneráveis e configurações avançadas de firewall.
- 🕵️ Privacidade Protegida: Desativação de telemetria, rastreamento e restrição de acesso a câmera e microfone.
- ⚡ Desempenho Otimizado: Melhoria no uso de memória, desativação de serviços desnecessários e limpeza automatizada.
- 📜 Simples e Prático: Execute como administrador e siga as instruções.
Para quem é este guia?
✔
Administradores de Sistemas que precisam padronizar configurações seguras
✔
Usuários Avançados focados em privacidade e performance
✔
Profissionais de TI que desejam automatizar otimizações no Windows
Como funciona?
O script aplica ajustes baseados em:
- CIS Benchmarks (padrões globais de segurança)
- Diretrizes oficiais da Microsoft (recomendações de segurança)
- Técnicas comprovadas de otimização de desempenho
📥 Quer transformar seu Windows? Baixe, execute e sinta a diferença! 🚀
🔗 Confira abaixo as instruções detalhadas e opções de personalização.
<#
.SYNOPSIS
Script avançado de otimização para Windows - Segurança, Privacidade e Desempenho
.DESCRIPTION
Aplica configurações recomendadas por especialistas para maximizar segurança, privacidade e desempenho
.NOTES
Versão: 2.3
Autor: [becapiando]
Data: $(Get-Date -Format "2025-04-03")
Referências:
- CIS Benchmarks
- Microsoft Security Baselines
- NSA Cybersecurity Configurations
#>
# Requer execução como administrador
if (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
Write-Warning "Este script requer privilégios de administrador. Por favor, execute como administrador."
break
}
# Configuração temporária de política de execução
$originalExecutionPolicy = Get-ExecutionPolicy
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
# Configurações de logging avançado
$logPath = "C:\Windows\Logs\AdvancedOptimization_$(Get-Date -Format 'yyyyMMdd-HHmmss').log"
function Write-Log {
param ([string]$message, [string]$level = "INFO")
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
$logEntry = "[$timestamp][$level] $message"
Write-Output $logEntry
$logEntry Out-File -FilePath $logPath -Append -Encoding UTF8
}
Write-Log "Iniciando otimização avançada de segurança, privacidade e desempenho..."
## 1. Configurações de Segurança Reforçada ##
Write-Log "Aplicando configurações de segurança reforçada..."
# 1.1. Proteção contra malware e exploits
Set-MpPreference -AttackSurfaceReductionRules_Ids "BE9BA2D9-53EA-4CDC-84E5-9B1EEEE46550" -AttackSurfaceReductionRules_Actions Enabled
Set-MpPreference -EnableControlledFolderAccess Enabled
Set-MpPreference -PUAProtection Enabled
Set-MpPreference -CloudBlockLevel High
Set-MpPreference -CloudExtendedTimeout 50
# 1.2. Desativar protocolos inseguros
Disable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol" -NoRestart | Out-Null
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" -Name "Enabled" -Value 0 -Type DWord
# 1.3. Configurações de conta e autenticação
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableLUA" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "ConsentPromptBehaviorAdmin" -Value 2 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "ConsentPromptBehaviorUser" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableInstallerDetection" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "ValidateAdminCodeSignatures" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "FilterAdministratorToken" -Value 1 -Type DWord
# 1.4. Configurações de rede segura
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters" -Name "NodeType" -Value 2 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters" -Name "NoNameReleaseOnDemand" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows NT\DNSClient" -Name "EnableMulticast" -Value 0 -Type DWord
# 1.5. Auditoria avançada
auditpol /set /category:"System" /success:enable /failure:enable
auditpol /set /category:"Logon/Logoff" /success:enable /failure:enable
auditpol /set /category:"Object Access" /success:enable /failure:enable
auditpol /set /category:"Privilege Use" /success:enable /failure:enable
auditpol /set /category:"Detailed Tracking" /success:enable /failure:enable
auditpol /set /category:"Policy Change" /success:enable /failure:enable
auditpol /set /category:"Account Management" /success:enable /failure:enable
## 2. Configurações de Privacidade ##
Write-Log "Aplicando configurações de privacidade..."
# 2.1. Desativar telemetria e coleta de dados
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name "AllowTelemetry" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection" -Name "AllowTelemetry" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\AppCompat" -Name "AITEnable" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\AppCompat" -Name "DisableInventory" -Value 1 -Type DWord
# 2.2. Limitar acesso a dados do usuário
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\location" -Name "Value" -Value "Deny" -Type String
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\webcam" -Name "Value" -Value "Deny" -Type String
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\microphone" -Name "Value" -Value "Deny" -Type String
# 2.3. Desativar anúncios e rastreamento
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\CloudContent" -Name "DisableWindowsConsumerFeatures" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\AdvertisingInfo" -Name "DisabledByGroupPolicy" -Value 1 -Type DWord
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "Start_TrackProgs" -Value 0 -Type DWord
# 2.4. Limpar histórico e dados temporários
Remove-Item -Path "$env:localappdata\Microsoft\Windows\History\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:localappdata\Microsoft\Windows\Temporary Internet Files\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:localappdata\Google\Chrome\User Data\Default\Cache\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:localappdata\Microsoft\Windows\Caches\*" -Recurse -Force -ErrorAction SilentlyContinue
## 3. Configurações de Desempenho Otimizado ##
Write-Log "Aplicando configurações de desempenho..."
# 3.1. Configurações de energia para desempenho
powercfg -setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c # Alto desempenho
powercfg -h off # Desativar hibernação
powercfg /change standby-timeout-ac 0
powercfg /change disk-timeout-ac 0
# 3.2. Otimizações de sistema de arquivos
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "NtfsDisableLastAccessUpdate" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -Name "DisablePagingExecutive" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -Name "LargeSystemCache" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -Name "IoPageLockLimit" -Value 4194304 -Type DWord
# 3.3. Desativar serviços desnecessários
$servicesToDisable = @(
"DiagTrack", # Telemetria
"dmwappushservice", # Push de mensagens
"lfsvc", # Geolocalização
"MapsBroker", # Atualização de mapas
"NetTcpPortSharing", # Compartilhamento de porta TCP
"RemoteRegistry", # Registro remoto
"RetailDemo", # Modo demonstração
"XboxGipSvc", # Serviços Xbox
"XblAuthManager",
"XblGameSave",
"XboxNetApiSvc"
)
foreach ($service in $servicesToDisable) {
if (Get-Service -Name $service -ErrorAction SilentlyContinue) {
Stop-Service -Name $service -Force -ErrorAction SilentlyContinue
Set-Service -Name $service -StartupType Disabled -ErrorAction SilentlyContinue
Write-Log "Serviço $service desativado"
}
}
# 3.4. Otimizar tarefas agendadas
$tasksToDisable = @(
"\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser",
"\Microsoft\Windows\Application Experience\ProgramDataUpdater",
"\Microsoft\Windows\Customer Experience Improvement Program\*",
"\Microsoft\Windows\DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector",
"\Microsoft\Windows\Windows Error Reporting\QueueReporting"
)
foreach ($task in $tasksToDisable) {
Get-ScheduledTask -TaskPath $task -ErrorAction SilentlyContinue Disable-ScheduledTask Out-Null
Write-Log "Tarefa agendada $task desativada"
}
# 3.5. Limpeza e manutenção do sistema
Write-Log "Executando tarefas de manutenção..."
CleanMgr /sagerun:1 | Out-Null
Dism /Online /Cleanup-Image /StartComponentCleanup /ResetBase | Out-Null
# Verificar integridade do sistema
sfc /scannow
## 4. Configurações Adicionais de Segurança ##
Write-Log "Aplicando configurações adicionais de segurança..."
# 4.1. Configurações de RDP seguras
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "UserAuthentication" -Value 1 -Type DWord
# 4.2. Configurações de firewall avançadas
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultInboundAction Block
Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultOutboundAction Allow
Set-NetFirewallProfile -Profile Domain,Public,Private -AllowInboundRules "BlockInboundAlways"
Set-NetFirewallProfile -Profile Domain,Public,Private -AllowLocalFirewallRules "False"
Set-NetFirewallProfile -Profile Domain,Public,Private -AllowLocalIPsecRules "False"
Set-NetFirewallProfile -Profile Domain,Public,Private -LogFileName "%SystemRoot%\System32\LogFiles\Firewall\pfirewall.log"
Set-NetFirewallProfile -Profile Domain,Public,Private -LogMaxSizeKilobytes 32767
Set-NetFirewallProfile -Profile Domain,Public,Private -LogAllowed True
Set-NetFirewallProfile -Profile Domain,Public,Private -LogBlocked True
## Finalização ##
Write-Log "Otimização avançada concluída com sucesso!"
# Restaurar política de execução original
Set-ExecutionPolicy -ExecutionPolicy $originalExecutionPolicy -Scope Process -Force
# Resultado final
Write-Host "`nOtimização completa realizada com sucesso!" -ForegroundColor Green
Write-Host "Log detalhado salvo em: $logPath" -ForegroundColor Yellow
Write-Host "`nRecomendações adicionais:" -ForegroundColor Cyan
Write-Host "1. Reinicie o sistema para aplicar todas as configurações"
Write-Host "2. Verifique se seus aplicativos essenciais funcionam corretamente"
Write-Host "3. Considere habilitar o BitLocker para criptografia de disco completo"
Write-Host "4. Implemente autenticação multifator para contas administrativas"
Como Usar:
- Salve o arquivo como
OptimizacaoAvancada.ps1
. - Execute como Administrador.
- Revise o log gerado ao final da execução.
- Reinicie o sistema para aplicar todas as configurações.
Recursos e Melhorias Implementadas:
1. Segurança Reforçada
- Aplicação de regras avançadas contra malware (ASR rules).
- Desativação de protocolos obsoletos e inseguros (SSL 2.0/3.0, TLS 1.0/1.1).
- Endurecimento das configurações de autenticação e controle de contas.
- Auditoria detalhada de eventos críticos para maior rastreabilidade.
- Configuração de firewall avançada com bloqueio de conexões indesejadas.
2. Privacidade Aprimorada
- Desativação total da telemetria e coleta de dados.
- Restrição de acesso a câmera, microfone e localização.
- Remoção de rastreamento, anúncios e notificações invasivas.
- Limpeza automática de históricos e caches.
3. Desempenho Otimizado
- Ajustes para máximo desempenho em configurações de energia.
- Otimizações de memória e sistema de arquivos.
- Desativação de serviços e tarefas agendadas desnecessárias.
- Manutenção automática, incluindo limpeza de arquivos temporários.
4. Funcionalidades Adicionais
- Geração de logs detalhados para auditoria e acompanhamento.
- Verificação de integridade do sistema (SFC / DISM).
- Recomendações pós-execução para segurança adicional.
- Tratamento aprimorado de erros para evitar falhas inesperadas.
Solução de Problemas ao Executar o Script de Otimização do Windows
Este guia aborda os principais problemas que podem surgir ao executar o script de otimização do Windows, suas causas e soluções eficazes.
🔧 Erros Comuns e Como Corrigi-los
1. Erros de Execução
Erro: "Script não executa - Política de Execução Restrita"
Causa: O PowerShell bloqueia scripts não assinados.
Solução: Execute o comando abaixo para permitir scripts remotos:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Ou execute diretamente pelo prompt de comando:
powershell.exe -ExecutionPolicy Bypass -File .\script.ps1
Erro: "Acesso negado" em algumas configurações
Causa: Falta de privilégios de administrador.
Solução: Execute o PowerShell como Administrador.
2. Problemas de Segurança
Erro: Conexões de rede bloqueadas após otimizações de firewall
Causa: Regras de firewall excessivamente restritivas.
Solução: Permitir conexões padrão com:
Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultInboundAction Allow -DefaultOutboundAction Allow
Para reativar regras desativadas:
Get-NetFirewallRule | Where-Object { $_.Enabled -eq 'False' } | Enable-NetFirewallRule
Erro: Aplicativos legados pararam de funcionar
Causa: Desativação de protocolos antigos como SMB1 e TLS 1.0.
Solução: Reativá-los com:
Enable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol"
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" -Name "Enabled" -Value 1
3. Problemas de Desempenho
Erro: Sistema ficou lento após otimizações
Causas possíveis:
- Configuração incorreta da memória virtual.
- Desativação de serviços essenciais.
Solução: Restaurar configurações padrões:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -Name "DisablePagingExecutive" -Value 0
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -Name "LargeSystemCache" -Value 0
Get-Service -Name "SysMain" | Set-Service -StartupType Automatic -Status Running
Erro: Alto uso de disco após desfragmentação
Causa: Desfragmentação executada em SSD (não recomendada).
Solução: Identifique o tipo de disco e desative a otimização:
Get-PhysicalDisk | Select-Object DeviceID, MediaType
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction" -Name "Enable" -Value "N"
4. Problemas de Privacidade
Erro: Cortana e outras funções do Windows não funcionam
Causa: Configurações de privacidade muito restritivas.
Solução: Restaurar permissões:
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name "AllowTelemetry" -Value 1
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\location" -Name "Value" -Value "Allow"
5. Problemas de Hardware
Erro: Dispositivos USB não reconhecidos
Causa: O serviço Windows Update foi desativado.
Solução: Reativá-lo:
Get-Service -Name "wuauserv" | Set-Service -StartupType Manual -Status Running
🔄 Revertendo Todas as Alterações
Criar um ponto de restauração antes da otimização:
Checkpoint-Computer -Description "Antes da Otimização" -RestorePointType MODIFY_SETTINGS
Restaurar configurações para o estado anterior:
Restore-Computer -LastRestorePoint
📌 Melhores Práticas para Evitar Problemas
✔ Teste as otimizações em um ambiente separado antes de aplicá-las definitivamente.
✔ Execute partes do script separadamente para identificar possíveis falhas.
✔ Documente todas as mudanças realizadas no sistema.
✔ Monitore o desempenho após as alterações.
✔ Mantenha backups atualizados antes de qualquer modificação.
❓ Suporte Adicional
Se encontrar problemas não listados:
1️⃣ Verifique o log de otimização em
C:\Windows\Logs\AdvancedOptimization_[DATA].log
.
2️⃣ Consulte os eventos do sistema no Visualizador de Eventos.
3️⃣ Para suporte técnico, informe:
- Versão exata do Windows.
- Trechos do log contendo erros.
- Especificações de hardware.
Considerações finais
Algumas configurações podem afetar funcionalidades específicas do sistema.
Revise as alterações antes de executar em um ambiente de produção.