none
Script para Remover Variável do Ambiente RRS feed

  • Pergunta

  • Opa pessoal.

    Estou precisando de um script para conseguir remover as variáveis de ambiente toda vez quem o usuário logar no Terminal Services.
    Tenho um software que só funciona se as variáveis não estiverem lá.

    Alguem pode me ajudar?

    Obrigado.
    quarta-feira, 18 de julho de 2007 15:24

Respostas

  •  

     Rafael...

     

    É só ir colocando as variáveis dentro do grupo em vermelho, na mesma syntax: "variável","variável"  . .. . entre aspas e com vírgulas separando elas...

     

    Verifique se o software utiliza as variáves de usuário ou de sistema, se utilizar somente a de usuário, remova a parte verde, se utilizar a de sistema também deixe como está.

    Salve como .vbs e coloque no login do ts...

     

     
     

    Code Snippet

    Set myShell = CreateObject("wscript.Shell")


    Chave = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\"
    Chave2 = "HKEY_CURRENT_USER\Environment\"


    arrVar = array("MINHA","SUA","AQUELA")

     

    for each VAR in arrVar
    on error resume next
    myShell.RegRead(Chave & VAR)
    if err.number=0 then
    myShell.RegDelete(Chave & VAR)
    end if


    on error resume next
    err.clear
    myShell.RegRead(Chave2 & VAR)
    if err.number=0 then
    myShell.RegDelete(Chave2 & VAR)
    end if
    next
     

     


     

     

    Por segurança temos este que adiciona as chaves de volta, mesmo procedimento da anterior só que deve ser posta na politica de logoff do ts.

     

     

     
     

    Code Snippet

    Set myShell = CreateObject("wscript.Shell")


    Chave = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\"
    Chave2 = "HKEY_CURRENT_USER\Environment\"


    arrVar = array("MINHA","SUA","AQUELA")


    for each VAR in arrVar
    on error resume next
    myShell.RegRead(Chave & VAR)
    if err.number<>0 then
    myShell.RegWrite(Chave & VAR)
    end if


    on error resume next
    err.clear
    myShell.RegRead(Chave2 & VAR)
    if err.number<>0 then
    myShell.RegWrite(Chave2 & VAR)
    end if
    next

     

     
     o.0 blz, teste, poste, e não esqueça de classificar.

    quinta-feira, 19 de julho de 2007 21:06
    Moderador

Todas as Respostas

  •  

    Quais as variáveis que vc quer excluir ?

     

    o.0

    quinta-feira, 19 de julho de 2007 18:55
    Moderador
  •  

     Rafael...

     

    É só ir colocando as variáveis dentro do grupo em vermelho, na mesma syntax: "variável","variável"  . .. . entre aspas e com vírgulas separando elas...

     

    Verifique se o software utiliza as variáves de usuário ou de sistema, se utilizar somente a de usuário, remova a parte verde, se utilizar a de sistema também deixe como está.

    Salve como .vbs e coloque no login do ts...

     

     
     

    Code Snippet

    Set myShell = CreateObject("wscript.Shell")


    Chave = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\"
    Chave2 = "HKEY_CURRENT_USER\Environment\"


    arrVar = array("MINHA","SUA","AQUELA")

     

    for each VAR in arrVar
    on error resume next
    myShell.RegRead(Chave & VAR)
    if err.number=0 then
    myShell.RegDelete(Chave & VAR)
    end if


    on error resume next
    err.clear
    myShell.RegRead(Chave2 & VAR)
    if err.number=0 then
    myShell.RegDelete(Chave2 & VAR)
    end if
    next
     

     


     

     

    Por segurança temos este que adiciona as chaves de volta, mesmo procedimento da anterior só que deve ser posta na politica de logoff do ts.

     

     

     
     

    Code Snippet

    Set myShell = CreateObject("wscript.Shell")


    Chave = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\"
    Chave2 = "HKEY_CURRENT_USER\Environment\"


    arrVar = array("MINHA","SUA","AQUELA")


    for each VAR in arrVar
    on error resume next
    myShell.RegRead(Chave & VAR)
    if err.number<>0 then
    myShell.RegWrite(Chave & VAR)
    end if


    on error resume next
    err.clear
    myShell.RegRead(Chave2 & VAR)
    if err.number<>0 then
    myShell.RegWrite(Chave2 & VAR)
    end if
    next

     

     
     o.0 blz, teste, poste, e não esqueça de classificar.

    quinta-feira, 19 de julho de 2007 21:06
    Moderador
  • Opa Filipe!

    Cara, obrigado! Vou fazer um teste com esse script e retorno a resposta!

    Valeu!

    []s
    segunda-feira, 23 de julho de 2007 10:37