Criando script vbs para mudar porta 25 para 587 do SMTP



Documento: Tutorial
Objetivo: Script vbs para mudar porta 25 para 587 do SMTP
Organização: Redes com Active Directory Microsoft
Autor: Eduardo Popovici

*******************************************************************************

Se gostou comente... se funcionou comente, se não ... comente também rs... sua opinião ajuda a melhorar o Blog da HTBRAZ e logicamente fornecer conteúdo de qualidade para quem esta com problemas.

Nosso conteúdo é gratuito. Somos a favor do conhecimento livre.

Sucesso!
 *******************************************************************************
Crie scripts de logon, veja como fazer clicando aqui.
*******************************************************************************
Baixe o MySql 5.5.34 aqui
*******************************************************************************
Instale o servidor de chat. Tutorial aqui
*******************************************************************************
Crie um sistema de chamados com usuários autenticados.
Tutorial aqui
*******************************************************************************

E para ajudar os administradores de rede para o próximo ano, ai vai uma dica muito bacana para quem tem uma estrutura com maquinas rodando com estações ainda com SMTP na porta 25.
Como no próximo ano teremos que passar as estações dos usuários para a porta 587 para envio de e-mails,  esse script pode ajudar.

Crie o Script em versão VBS e execute via GPO no domínio. Lembre-se de testar... afinal nem todo script pronto funciona de primeira para todas as estruturas.


Set nw = CreateObject("WScript.Network")
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_USERS = &H80000003
strOutLookPath = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676\00000003"
strMachineName = "."
strPopServer = "pop3.teste.com.br"
strSMTPServer = "smtp.teste.com.br"
popmax = len(strPopServer)
For intLoop = 1 to popmax step 1
    asciiPop = asc(mid(strPopServer, intLoop, 1))
    if newasciiPop = "" Then
        newasciiPop = asciiPop
        'newAsciiInitials = asciiPop
    else
        newasciiPop = newasciiPop & "," & "00" & "," & asciiPop
    end if   
Next
newasciiPop = newasciiPop & "," & "00" & "," & "00" & "," & "00"
updatePop = Split(newasciiPop,",")
SMTPmax = len(strSMTPServer)
For intLoop = 1 to SMTPmax step 1
    asciiSMTP = asc(mid(strSMTPServer, intLoop, 1))
    if newasciiSMTP = "" Then
        newasciiSMTP = asciiSMTP
        'newAsciiInitials = asciiSMTP
    else
        newasciiSMTP = newasciiSMTP & "," & "00" & "," & asciiSMTP
    end if   
Next
newasciiSMTP = newasciiSMTP & "," & "00" & "," & "00" & "," & "00"
updateSMTP = Split(newasciiSMTP,",")
strMoniker = "winMgmts:\\" & strMachineName & "\root\default:StdRegProv"
Set oReg = GetObject(strMoniker)
oReg.EnumKey HKEY_USERS, "", arrSubKeys
For Each subkey In arrSubKeys
    strpath = subkey & "\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676"
    oReg.EnumKey HKEY_USERS, strpath, arrSubKeys2
    If Not IsNull (arrSubKeys2) Then
       For Each subkey2 In arrSubKeys2
          strPath = subkey & "\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676\" & subkey2
          'Wscript.Echo strPath
          returnEmail = oReg.GetBinaryValue(HKEY_USERS,strpath,"Email",arrEmailBinary)
          If Not IsNull (arrEmailBinary) Then
  PopServerSet = oReg.SetBinaryValue(HKEY_USERS, strPath, "POP3 Server", updatePop)
  SMTPServerSet = oReg.SetBinaryValue(HKEY_USERS, strPath, "SMTP Server", updateSMTP)
  POPSSLSet = oReg.SetDWORDValue(HKEY_USERS,strPath,"POP3 Use SSL",1)
  POPPortSet = oReg.SetDWORDValue(HKEY_USERS,strPath,"POP3 Port",993)
  SMTPConSet = oReg.SetDWORDValue(HKEY_USERS,strPath,"SMTP Secure Connection",2)
  SMTPSSLSet = oReg.SetDWORDValue(HKEY_USERS,strPath,"SMTP Use SSL",1)
  SMTPPortSet = oReg.SetDWORDValue(HKEY_USERS,strPath,"SMTP Port",587)
          End If

       Next
    End If
 
Next

5 Comentários

Comente sem faltar com respeito - ;-)

  1. Olá amigo,
    eu testei esse scritp e ele funcionou legal na minha maquina com windows 7 e office 2007 testei tambem na maquina ao lado com windows 8 e tb funcionou fui testar no windows XP e não funciona tem alguma coisa a mais pra alterar pra rodar ?

    ResponderExcluir
  2. Olá Zacarias... bom dia.

    Testei em uma maquina com o Windows XP e funcionou normalmente. Da uma olhada na parte "\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676"

    Dependendo da versão do Office, percebi que pode precisar alterar o final 9375CFF0413111d3B88A00104B2A6676

    Veja se ajuda...

    ResponderExcluir
  3. Eduardo,
    VOce ta falando que posso mudar essa chave para uma outra ?
    Me passa seu email ai

    ResponderExcluir
  4. Eduardo,
    o que eu preciso mudar esta na chave 0000002 se eu for na chave direto e mudar ele altera porem não altera como tem que ser pois nao usa a tabela ASCCI.

    Na minha maquina roda certo com win7 e office 2007 mais no XP namo roda de jeito nenhum.
    Pode me ajudar ?

    ResponderExcluir
  5. Boa tarde, Gostaria de saber qual passo para configurar o script.

    Salvei o arquivo com extensão Ports.vbs dentro da pasta C:\Windows\SYSVOL\sysvol\Meu Dominio\scripts.

    Abri meu AD, fui na aba do perfil do usuario no campo de Logon Scripts coloquei o nome do arquivo Ports.vbs.

    Fiz logoff reiniciei a maquina e as portas do Microsoft Outlook nao mudaram.

    Podem me dizer como fazer o passo-a-passo?

    Aguardo contato

    ResponderExcluir
Postagem Anterior Próxima Postagem