none
Script VBS para desinstalar o firefox RRS feed

  • Pergunta

  • Prezados,

    Meu conhecimento em VBS é muito limitado, assim, venho solicitar ajuda de voces. Preciso rodar um script de logon que desinstale o firefox. Tem dois caminhos basicos que podemos encontrar o firefox:

    1 - "Arquivos de Programas\Mozilla Firefox\uninstall\"

    2 - "C:\Documents and Settings\%usuario%\Configurações locais\Dados de aplicativos\Mozilla Firefox\uninstall\"

    Encontrei um script que funciona perfeitamente para desinstalar o firefox no caminho 1. Gostaria de sua ajuda para implementar neste script, a rotina que tambem executa o unistall no caminho 2. O script vai ter que pegar no nome do usuario logado (login de rede), para colocar na variavel %usuario%.

    Se possivel, quero retirar esta rotina de LogEvents. Não tenho necessidade.

    Veja o script abaixo:

    --------------------------------------------------------------------------------------------------

    Option Explicit
    Dim objWshShell, objFSO, WshEnv, ProgramFiles

    On Error Resume Next

    Set objWshShell = WScript.CreateObject("WScript.Shell")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set WshEnv = objWshShell.Environment("PROCESS")
    ProgramFiles = objWshShell.ExpandEnvironmentStrings("%ProgramFiles%")

    objWshShell.LogEvent 4, "Starting the """ & wscript.ScriptFullName & """ VBScript."

    If objFSO.FileExists (ProgramFiles & "\Mozilla Firefox\uninstall\helper.exe") Then
    objWshShell.LogEvent 4, "Attempting to remove Mozilla Firefox using the """ & wscript.ScriptFullName & """ VBScript."
    objWshShell.Run """" & ProgramFiles & "\Mozilla Firefox\uninstall\helper.exe"" /S", 1, True
    End If

    objWshShell.LogEvent 4, "Finished running the """ & wscript.ScriptFullName & """ VBScript."

    Wscript.Quit

    --------------------------------------------------------------------------------------------------

    Obrigado!


    Sou Livre !

    segunda-feira, 22 de outubro de 2012 18:22

Respostas

  • Tenta este aqui.

    Set objWshShell = WScript.CreateObject("WScript.Shell")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    strProgramFiles = objWshShell.ExpandEnvironmentStrings("%PROGRAMFILES%")
    
    If objFSO.FileExists (strProgramFiles & "\Mozilla Firefox\uninstall\helper.exe") Then
    	strUninstall = "%ComSpec% /k """ & strProgramFiles & "\Mozilla Firefox\uninstall\helper.exe"" /S"
    	objWshShell.Run strUninstall,1,false
    End If

    Alterei as duas linhas dentro do IF.

    Se funcionar faça a seguinte alteração para que a janela do prompt não apareça:

    - troque o /k por /c 

    - e troque também  o 1 por 0 na linha do .run


    Fábio de Paula Junior

    • Marcado como Resposta Fábio JrModerator sexta-feira, 23 de novembro de 2012 11:01
    • Não Marcado como Resposta Fábio JrModerator sexta-feira, 23 de novembro de 2012 15:13
    • Marcado como Resposta ricardoclaus segunda-feira, 3 de dezembro de 2012 09:58
    segunda-feira, 12 de novembro de 2012 13:54
    Moderador

Todas as Respostas

  • amigo você pode utilizar a variável de ambiente %username%

    Ajudei? Marca como útil.
    Visite meu blog: HowToServer
    Quer conversar sobre Powershell?
    entre nos grupos, no Facebook e noLinkedin Cadastre-se também na mailing list Powershell Brasil Quer Aprender Powershell?
    Meus Artigos na TechNet Wiki

    segunda-feira, 22 de outubro de 2012 19:43
  • Amigo não manjo muito de VBS, achei aqui a variavel de ambiente %userprofile% que indica o caminho do perfil do usuario. pode utilizar ela junto com o codigo que você postou.

    Chutando ficaria algo mais ou menos assim

    Option Explicit
    Dim objWshShell, objFSO, WshEnv, ProgramFiles
    
    On Error Resume Next
    
    Set objWshShell = WScript.CreateObject("WScript.Shell")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set WshEnv = objWshShell.Environment("PROCESS")
    UserFiles = objWshShell.ExpandEnvironmentStrings("%USERPROFILE%")
    
    objWshShell.LogEvent 4, "Starting the """ & wscript.ScriptFullName & """ VBScript."
    
    If objFSO.FileExists (UserFiles & "Configurações locais\Dados de aplicativos\Mozilla Firefox\uninstall\helper.exe") Then
    objWshShell.LogEvent 4, "Attempting to remove Mozilla Firefox using the """ & wscript.ScriptFullName & """ VBScript."
    objWshShell.Run """" & UserFiles & "Configurações locais\Dados de aplicativos\Mozilla Firefox\uninstall\helper.exe"" /S", 1, True
    End If
    
    objWshShell.LogEvent 4, "Finished running the """ & wscript.ScriptFullName & """ VBScript."
    
    Wscript.Quit 


    Ajudei? Marca como útil.
    Visite meu blog: HowToServer
    Quer conversar sobre Powershell?
    entre nos grupos, no Facebook e noLinkedin Cadastre-se também na mailing list Powershell Brasil Quer Aprender Powershell?
    Meus Artigos na TechNet Wiki


    segunda-feira, 22 de outubro de 2012 19:46
  • Amigo, obrigado pela ajuda.

    Mas o script nao funcionou.

    Tem mais alguma ideia ?


    Sou Livre !

    quinta-feira, 25 de outubro de 2012 19:07
  • Qual erro?

    Ajudei? Marca como útil.
    Visite meu blog: HowToServer
    Quer conversar sobre Powershell?
    entre nos grupos, no Facebook e noLinkedin Cadastre-se também na mailing list Powershell Brasil Quer Aprender Powershell?
    Meus Artigos na TechNet Wiki

    quinta-feira, 25 de outubro de 2012 19:08
  • Matheus, o problema é que nao aparece nenhum erro. Estou fazendo testes em uma VM com WinXP. Copiei o script para o hd da VM e executei em seguida,mas nada acontece.

    Sou Livre !

    sexta-feira, 26 de outubro de 2012 09:34
  • Ricardo,

    Apague a linha 

    On Error Resume Next

    e execute novamente e poste o erro.


    Fábio de Paula Junior

    sexta-feira, 26 de outubro de 2012 12:13
    Moderador
  • Agora sugriu o erro:

    Variavel não definida: 'UserFiles'

    Fiz o teste atraves do netlogon, e nao apareceu nenhum erro. Assim, copiei o script para o HD do desktop e executei, dai sim surgiu o erro.


    Sou Livre !

    sexta-feira, 26 de outubro de 2012 12:52
  • desuclpa amigo é %userprofile%

    abre um cmd e digita %userprofile% e da enter...

    ve se ele mostra o caminho do perfil do usuario


    Ajudei? Marca como útil.
    Visite meu blog: HowToServer
    Quer conversar sobre Powershell?
    entre nos grupos, no Facebook e noLinkedin Cadastre-se também na mailing list Powershell Brasil Quer Aprender Powershell?
    Meus Artigos na TechNet Wiki


    sexta-feira, 26 de outubro de 2012 12:56
  • Apague também a linha

    Option Explicit

    Ela obriga a declarar as variaveis.

    Se possivel copie a mensagem de erro e cole.


    Fábio de Paula Junior

    sexta-feira, 26 de outubro de 2012 12:59
    Moderador
  • Prezados,

    Preferi comentar as linhas ao inves de apaga-las.

    Segue o script modificado e tambem o resultado do comando userprofile.

    Ao execuar o script, nao aparece nenhum erro e tambem nao desinstala o firefox.

    Gostaria de saber, como mostrar o valor de uma variavel dentro de um msgbox, para saber o seu conteudo.

    'Option Explicit
    Dim objWshShell, objFSO, WshEnv, ProgramFiles

    'On Error Resume Next

    Set objWshShell = WScript.CreateObject("WScript.Shell")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set WshEnv = objWshShell.Environment("PROCESS")
    UserFiles = objWshShell.ExpandEnvironmentStrings("%userprofile%")

    objWshShell.LogEvent 4, "Starting the """ & wscript.ScriptFullName & """ VBScript."

    If objFSO.FileExists (UserFiles & "Configurações locais\Dados de aplicativos\Mozilla Firefox\uninstall\helper.exe") Then
    objWshShell.LogEvent 4, "Attempting to remove Mozilla Firefox using the """ & wscript.ScriptFullName & """ VBScript."
    objWshShell.Run """" & UserFiles & "Configurações locais\Dados de aplicativos\Mozilla Firefox\uninstall\helper.exe"" /S", 1, True
    End If

    objWshShell.LogEvent 4, "Finished running the """ & wscript.ScriptFullName & """ VBScript."

    Wscript.Quit


    Sou Livre !



    • Editado ricardoclaus sexta-feira, 26 de outubro de 2012 13:32
    sexta-feira, 26 de outubro de 2012 13:30
  • Prezados,

    Efetuei algumas pesquisas e modifiquei o script. Mas ainda continua com erro.

    Veja o codigo abaixo, onde sinalizei, indico que estou testando o codigo até aqui.

    Option Explicit
    Dim objWshShell, objFSO, WshEnv, ProgramFiles

    'On Error Resume Next

    Set objWshShell = WScript.CreateObject("WScript.Shell")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set WshEnv = objWshShell.Environment("PROCESS")
    Dim UserFiles
    UserFiles = objWshShell.ExpandEnvironmentStrings("%USERPROFILE%")


    'get AppdataPath
    'set WSHShell = WScript.CreateObject("WScript.Shell")
    'Set wshSysEnv = WshEnv.Environment("PROCESS")
    Dim AppdataPath, FoxProfilePath
    AppdataPath = objWshShell.ExpandEnvironmentStrings("%appdata%")
    FoxProfilePath = AppdataPath & "\Mozilla Firefox\uninstall\helper.exe"
    msgbox FoxProfilePath
    objWshShell.Run " & FoxProfilePath &  /S", 1, True
    'msgbox objWshShell.Run

    'ESTOU TESTANDO ATE AQUI

    objWshShell.LogEvent 4, "Starting the """ & wscript.ScriptFullName & """ VBScript."

    If objFSO.FileExists (UserFiles & "Configurações locais\Dados de aplicativos\Mozilla Firefox\uninstall\helper.exe") Then
    objWshShell.LogEvent 4, "Attempting to remove Mozilla Firefox using the """ & wscript.ScriptFullName & """ VBScript."
    objWshShell.Run """" & UserFiles & "Configurações locais\Dados de aplicativos\Mozilla Firefox\uninstall\helper.exe"" /S", 1, True
    End If

    objWshShell.LogEvent 4, "Finished running the """ & wscript.ScriptFullName & """ VBScript."

    Wscript.Quit





    Sou Livre !

    sábado, 27 de outubro de 2012 15:04
  • Ricardo,

    Existe algum comando que você digita no prompt e remove o firefox? 

    Precisa ser administrador?


    Fábio de Paula Junior

    quarta-feira, 31 de outubro de 2012 11:15
    Moderador
  • subindo

    Fábio de Paula Junior

    quinta-feira, 1 de novembro de 2012 15:42
    Moderador
  • Fabio,

    O comando para remover (modo silent) o firefox por linha de comando, é esta:

    C:\Arquivos de programas\Mozilla Firefox\uninstall\helper.exe /S

    Para remover da pasta "Arquivos de Programas", precisa ser admin.


    Sou Livre !

    terça-feira, 6 de novembro de 2012 09:49
  • Ricardo,

    O que vou propor não é muito diferente do que o Matheus já havia pedido. Preciso que vc faça testes.

    Logue como administrador e execute o script abaixo:

    Set objWshShell = WScript.CreateObject("WScript.Shell")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    strProgramFiles = objWshShell.ExpandEnvironmentStrings("%PROGRAMFILES%")
    
    If objFSO.FileExists (strProgramFiles & "\Mozilla Firefox\uninstall\helper.exe") Then
    	strUninstall = """" & strProgramFiles & "\Mozilla Firefox\uninstall\helper.exe"" /S"
    	objWshShell.Run strUninstall,0,false
    End If

    Qual o resultado? Desinstalou? Deu erro? Qual?

    Se funcionou então você tem que configurar este script em uma GPO na diretiva de Script de Inicialização (start up) ou seja , vai ser executado quando o micro for ligado, assim ele vai rodar com a conta System e vai conseguir desinstalar.


    Fábio de Paula Junior

    terça-feira, 6 de novembro de 2012 12:50
    Moderador
  • Resolvido?

    Fábio de Paula Junior

    sábado, 10 de novembro de 2012 11:45
    Moderador
  • Bom dia,
    Desculpem a demora. Informo que o script não funcionou, mas tambem nao apresentou erro. fiz teste com um login perfil ADM, e perfil usuario comum.


    Sou Livre !

    segunda-feira, 12 de novembro de 2012 11:20
  • Tenta este aqui.

    Set objWshShell = WScript.CreateObject("WScript.Shell")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    strProgramFiles = objWshShell.ExpandEnvironmentStrings("%PROGRAMFILES%")
    
    If objFSO.FileExists (strProgramFiles & "\Mozilla Firefox\uninstall\helper.exe") Then
    	strUninstall = "%ComSpec% /k """ & strProgramFiles & "\Mozilla Firefox\uninstall\helper.exe"" /S"
    	objWshShell.Run strUninstall,1,false
    End If

    Alterei as duas linhas dentro do IF.

    Se funcionar faça a seguinte alteração para que a janela do prompt não apareça:

    - troque o /k por /c 

    - e troque também  o 1 por 0 na linha do .run


    Fábio de Paula Junior

    • Marcado como Resposta Fábio JrModerator sexta-feira, 23 de novembro de 2012 11:01
    • Não Marcado como Resposta Fábio JrModerator sexta-feira, 23 de novembro de 2012 15:13
    • Marcado como Resposta ricardoclaus segunda-feira, 3 de dezembro de 2012 09:58
    segunda-feira, 12 de novembro de 2012 13:54
    Moderador
  • Testei e funcionou, resolveu pra vc também?

    Fábio de Paula Junior

    quarta-feira, 14 de novembro de 2012 11:18
    Moderador
  • Resolvido?

    Fábio de Paula Junior

    segunda-feira, 19 de novembro de 2012 10:28
    Moderador
  • Fabio

    Fiz um teste aqui e só funcionou com usuario ADM.

    Preciso executar este script para usuarios comuns.

    Existe esta possibilidade?


    Sou Livre !

    segunda-feira, 19 de novembro de 2012 16:08
  • Ricardo,

    Com usuário comum não funciona, a melhor forma é colocar numa GPO em uma diretiva de script de inicialização(start up) pois desta forma vai rodar com a conta System. Qualquer outra forma é gambiarra.

    Resumo:

    São 4 tipos de script, vou listar na ordem que eles são executados.
    1-Startup (inicialização), é executado quando a maquina inicia, roda com conta de sistema (seu script funciona)
    2-Logon, é executado quando o usuário faz logon, roda com a conta do usuário (seu script não funciona aqui, funciona com o administrador, usuário comum não)
    3-Logoff, é executado quando o usuário faz logff, roda com a conta do usuário (seu script não funciona aqui, funciona com o administrador, usuário comum não)
    4-Desligamento, é executado quando a maquina é desligada, roda com conta de sistema (seu script funciona)
    Observação muito importante:
    Scripts de Startup e desligamento devem ser colocadas em OU que contém as contas das máquinas onde o script deve ser executado.
    Scripts de Logon e Logoff devem ser colocadas em OUs que contém as contas de usuários.


    Fábio de Paula Junior

    segunda-feira, 19 de novembro de 2012 16:13
    Moderador
  • Fabio,

    Primeiro criei uma OU para testes. Criei uma GPO e coloquei o script no "STARTUP", em "computer configuration", mas não funcionou como admin, nem como usuario comum.
    Como admim, através da rede, executei o script diretamente da pasta NETLOGON. O script funciona perfeitamente.
    Se preferir, podemos encerrar o topico por aqui, ja que o script funciona perfeitamente.

    Sou Livre !

    terça-feira, 20 de novembro de 2012 09:54
  • Não precisa encerrar, uma hora tem que funcionar ou chegar a conclusão que não funciona.

    Perguntas:

    1) Dentro da OU teste estão as contas de computadores? (pra funcionar tem que ter as contas de computador)

    2) Se as contas de computadores estiverem lá logue em uma das máquinas e execute o comando RSOP.msc, verifique se o script foi executado.


    Fábio de Paula Junior

    terça-feira, 20 de novembro de 2012 14:53
    Moderador
  • Não precisa encerrar, uma hora tem que funcionar ou chegar a conclusão que não funciona.

    Perguntas:

    1) Dentro da OU teste estão as contas de computadores? (pra funcionar tem que ter as contas de computador)

    2) Se as contas de computadores estiverem lá logue em uma das máquinas e execute o comando RSOP.msc, verifique se o script foi executado.


    Fábio de Paula Junior

    terça-feira, 20 de novembro de 2012 14:53
    Moderador
  • Não precisa encerrar, uma hora tem que funcionar ou chegar a conclusão que não funciona.

    Perguntas:

    1) Dentro da OU teste estão as contas de computadores? (pra funcionar tem que ter as contas de computador)

    2) Se as contas de computadores estiverem lá logue em uma das máquinas e execute o comando RSOP.msc, verifique se o script foi executado.



    Fábio de Paula Junior

    terça-feira, 20 de novembro de 2012 14:58
    Moderador
  • As maquinas que testei, estão sim dentro desta OU "Teste".

    Executei as ferramentas "gpresult" e RsoP.msc. Ambos aparecem que o script foi aplicado.


    Sou Livre !


    • Editado ricardoclaus sexta-feira, 23 de novembro de 2012 15:11
    sexta-feira, 23 de novembro de 2012 15:08
  • Ricardo,

    Tive a oportunidade de testar uma GPO e realmente não funciona. é muito estranho nunca vi algo assim.

    Sugestão:

    Veja este link, vc pode usar o PSExec pra fazer a desinstalação, vc pode até criar uma lista de máquinas e passar esta lista para o PSEXEC que ele faz em uma por uma.

    Remote removal, upgrade and install Firefox across a domain 

    it.toolbox.com/blogs/locutus/remote-removal-upgrade-and-install-firefox-across-a-domain-17044


    Fábio de Paula Junior

    terça-feira, 27 de novembro de 2012 13:40
    Moderador
  • Fabio

    Obrigado pela ajuda. Consegui executar o script via psexec. Tenho alguns scripts que realmente nao funciona em STARTUP.

    A linha de comando ficou assim:

    psexec -accepteula -e \\%micro% -u dominio\loginADM -p senha wscript.exe %script%

    Agradeço seu apoio.

    Abraços!


    Sou Livre !

    segunda-feira, 3 de dezembro de 2012 10:00