```bat
@echo off
setlocal EnableExtensions EnableDelayedExpansion

title Configuracao SEFAZ - DNS, TLS e Sites Confiaveis
color 0A

echo.
echo ================================================================
echo       CONFIGURACAO DE DNS, INTERNET E SEFAZ
echo ================================================================
echo.

:: =================================================================
:: VERIFICAR ADMINISTRADOR
:: =================================================================

net session >nul 2>&1

if %errorlevel% neq 0 (
    echo [ERRO] Este arquivo precisa ser executado como Administrador.
    echo.
    echo Clique com o botao direito no BAT e selecione:
    echo "Executar como administrador"
    echo.
    pause
    exit /b 1
)

echo [OK] Executando como Administrador.
echo.


:: =================================================================
:: 1 - DNS GOOGLE
:: =================================================================

echo ================================================================
echo [1/4] CONFIGURANDO DNS DO GOOGLE
echo ================================================================
echo.

echo Configurando DNS:
echo     Primario:   8.8.8.8
echo     Secundario: 8.8.4.4
echo.

powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "Get-NetAdapter | Where-Object {$_.Status -eq 'Up'} | ForEach-Object { Set-DnsClientServerAddress -InterfaceIndex $_.ifIndex -ServerAddresses @('8.8.8.8','8.8.4.4') }"

if %errorlevel% neq 0 (
    echo.
    echo [ERRO] Falha ao configurar o DNS.
) else (
    echo [OK] DNS configurado.
)

echo.


:: =================================================================
:: 2 - OPCOES DA INTERNET
:: =================================================================

echo ================================================================
echo [2/4] CONFIGURANDO OPCOES DA INTERNET
echo ================================================================
echo.

:: Nao salvar paginas criptografadas em disco
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
 /v DisableCachingOfSSLPages ^
 /t REG_DWORD ^
 /d 1 ^
 /f >nul

:: ---------------------------------------------------------------
:: SecureProtocols
::
:: SSL 2.0 = 8
:: SSL 3.0 = 32
:: TLS 1.0 = 128
:: TLS 1.1 = 512
:: TLS 1.2 = 2048
::
:: SSL 3.0 + TLS 1.2
::
:: 32 + 2048 = 2080
:: ---------------------------------------------------------------

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
 /v SecureProtocols ^
 /t REG_DWORD ^
 /d 2080 ^
 /f >nul

echo.
echo Configuracao:
echo.
echo     [X] Nao salvar paginas criptografadas em disco
echo     [ ] Usar SSL 2.0
echo     [X] Usar SSL 3.0
echo     [ ] Usar TLS 1.0
echo     [ ] Usar TLS 1.1
echo     [X] Usar TLS 1.2
echo.


:: =================================================================
:: 3 - WINHTTP
:: =================================================================

echo ================================================================
echo [3/4] CONFIGURANDO WINHTTP
echo ================================================================
echo.

:: SSL 3.0 + TLS 1.2
:: 32 + 2048 = 2080

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" ^
 /v DefaultSecureProtocols ^
 /t REG_DWORD ^
 /d 2080 ^
 /f >nul

reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" ^
 /v DefaultSecureProtocols ^
 /t REG_DWORD ^
 /d 2080 ^
 /f >nul

echo [OK] WinHTTP configurado.
echo.


:: =================================================================
:: 4 - SITES CONFIAVEIS - SEFAZ
:: =================================================================

echo ================================================================
echo [4/4] ADICIONANDO WEBSERVICES SEFAZ AOS SITES CONFIAVEIS
echo ================================================================
echo.

echo Adicionando os dominios abaixo:
echo.
echo AM
echo BA
echo GO
echo MG
echo MS
echo MT
echo PE
echo PR
echo RS
echo SP
echo SVAN
echo SVRS
echo SVC-AN
echo SVC-RS
echo AN
echo.

:: =================================================================
:: FUNCAO PARA ADICIONAR DOMINIO
::
:: Zona 2 = Trusted Sites
:: https = 2
:: http  = 2
:: =================================================================

call :ADD_TRUSTED "nfe.sefaz.am.gov.br"
call :ADD_TRUSTED "nfe.sefaz.ba.gov.br"
call :ADD_TRUSTED "nfe.sefaz.go.gov.br"
call :ADD_TRUSTED "nfe.fazenda.mg.gov.br"
call :ADD_TRUSTED "nfe.sefaz.ms.gov.br"
call :ADD_TRUSTED "nfe.sefaz.mt.gov.br"
call :ADD_TRUSTED "nfe.sefaz.pe.gov.br"
call :ADD_TRUSTED "nfe.sefa.pr.gov.br"
call :ADD_TRUSTED "nfe.sefazrs.rs.gov.br"
call :ADD_TRUSTED "cad.svrs.rs.gov.br"
call :ADD_TRUSTED "nfe.fazenda.sp.gov.br"
call :ADD_TRUSTED "www.sefazvirtual.fazenda.gov.br"
call :ADD_TRUSTED "nfe.svrs.rs.gov.br"
call :ADD_TRUSTED "www.nfe.fazenda.gov.br"
call :ADD_TRUSTED "nfe.fazenda.gov.br"


:: =================================================================
:: FINALIZACAO
:: =================================================================

echo.
echo ================================================================
echo             LIMPANDO CACHE E ATUALIZANDO CONFIGURACAO
echo ================================================================
echo.

ipconfig /flushdns >nul

RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters 1, True

echo [OK] Cache DNS limpo.
echo [OK] Configuracoes atualizadas.
echo.


:: =================================================================
:: VALIDACAO DNS
:: =================================================================

echo ================================================================
echo                       VALIDACAO DNS
echo ================================================================
echo.

powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "Get-DnsClientServerAddress -AddressFamily IPv4 | Where-Object {$_.ServerAddresses.Count -gt 0} | Select-Object InterfaceAlias,ServerAddresses | Format-Table -AutoSize"

echo.


:: =================================================================
:: VALIDACAO INTERNET SETTINGS
:: =================================================================

echo ================================================================
echo                 VALIDACAO INTERNET SETTINGS
echo ================================================================
echo.

echo SecureProtocols:
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v SecureProtocols

echo.
echo DisableCachingOfSSLPages:
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v DisableCachingOfSSLPages

echo.


:: =================================================================
:: VALIDACAO WINHTTP
:: =================================================================

echo ================================================================
echo                       VALIDACAO WINHTTP
echo ================================================================
echo.

reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" /v DefaultSecureProtocols

echo.


:: =================================================================
:: FINAL
:: =================================================================

echo ================================================================
echo                    CONFIGURACAO CONCLUIDA
echo ================================================================
echo.
echo DNS:
echo     8.8.8.8
echo     8.8.4.4
echo.
echo OPCOES DA INTERNET:
echo     [X] Nao salvar paginas criptografadas em disco
echo     [ ] SSL 2.0
echo     [X] SSL 3.0
echo     [ ] TLS 1.0
echo     [ ] TLS 1.1
echo     [X] TLS 1.2
echo.
echo SITES CONFIAVEIS:
echo     WebServices SEFAZ configurados.
echo.
echo ================================================================
echo.
echo Recomenda-se reiniciar o aplicativo TecnoSpeed/NFe.
echo.
pause

exit /b 0


:: =================================================================
:: FUNCAO ADD_TRUSTED
:: =================================================================

:ADD_TRUSTED

set "DOMINIO=%~1"

echo Adicionando: %DOMINIO%

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\%DOMINIO%" ^
 /v https ^
 /t REG_DWORD ^
 /d 2 ^
 /f >nul

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\%DOMINIO%" ^
 /v http ^
 /t REG_DWORD ^
 /d 2 ^
 /f >nul

if %errorlevel% equ 0 (
    echo     [OK] %DOMINIO%
) else (
    echo     [ERRO] %DOMINIO%
)

exit /b 0
```
