none
Bloquear Skype /secondary RRS feed

  • Pergunta

  • Boa tarde a todos, estou com um problema na empresa e já tentei resolve-lo pelo firewall(GateProtect), pelo antivirus(Kaspersky), por GPO e por script mas não consegui.

    Preciso bloquear apenas a segunda instancia do skype, ou seja, quando o usuário cria um atalho e coloca ao final do endereço /secondary. Todos os bloqueios que fiz ele bloqueia qualquer skype de ser executado.

    Os usuários teimam em manter um skype da empresa e um skype particular aberto e solicitaram que eu bloqueasse...alguém tem uma luz para me dar? :-D

    Obrigado.

    sexta-feira, 28 de março de 2014 17:10

Respostas

  • Boa Tarde Tbanet,

    Tem a possibilidade de vc colocar um script que fique monitorado, e quando o processo iniciar ele mata o processo em execução...

    execute o Skype com esse argumento e verifique se o processo é identificado com o  comando....

    rode esse script e veja se o command line é o Skype  /secondary

    Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2") 
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'SKYPE.EXE'") 
    For Each objItem in colItems 
        Wscript.Echo "CommandLine: " & objItem.CommandLine
    Next

    se funcionar vc pode colocar um script parecido com esse que coleta o PID e mata o processo pelo PID não finalizado a outra instancia...

    Nesse caso usei o IE como teste...  o script fica em Loop e a cada 5 segundos ele verifica e mata o processo se necessário.

    Set oShell = CreateObject("Wscript.Shell")
    Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
     bProcessoEmExecucao = True
    While bProcessoEmExecucao
    WScript.Sleep 5000
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'iexplore.EXE'")
    For Each objItem in colItems
       If objItem.CommandLine = """C:\Program Files\Internet Explorer\IEXPLORE.EXE"" -k" then
    		 oShell.run "TASKKILL /PID "& objItem.ProcessId &" /F",0,true
    		 bProcessoEmExecucao = True
    	End if
    Next
    WEnd


    att, Aparecido Deveza

    • Marcado como Resposta Tiago B. Alves quinta-feira, 3 de abril de 2014 11:28
    terça-feira, 1 de abril de 2014 18:26

Todas as Respostas

  • Boa Tarde Tbanet,

    Tem a possibilidade de vc colocar um script que fique monitorado, e quando o processo iniciar ele mata o processo em execução...

    execute o Skype com esse argumento e verifique se o processo é identificado com o  comando....

    rode esse script e veja se o command line é o Skype  /secondary

    Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2") 
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'SKYPE.EXE'") 
    For Each objItem in colItems 
        Wscript.Echo "CommandLine: " & objItem.CommandLine
    Next

    se funcionar vc pode colocar um script parecido com esse que coleta o PID e mata o processo pelo PID não finalizado a outra instancia...

    Nesse caso usei o IE como teste...  o script fica em Loop e a cada 5 segundos ele verifica e mata o processo se necessário.

    Set oShell = CreateObject("Wscript.Shell")
    Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
     bProcessoEmExecucao = True
    While bProcessoEmExecucao
    WScript.Sleep 5000
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'iexplore.EXE'")
    For Each objItem in colItems
       If objItem.CommandLine = """C:\Program Files\Internet Explorer\IEXPLORE.EXE"" -k" then
    		 oShell.run "TASKKILL /PID "& objItem.ProcessId &" /F",0,true
    		 bProcessoEmExecucao = True
    	End if
    Next
    WEnd


    att, Aparecido Deveza

    • Marcado como Resposta Tiago B. Alves quinta-feira, 3 de abril de 2014 11:28
    terça-feira, 1 de abril de 2014 18:26
  • Aparecido obrigado pela resposta, deu certinho o script, muito obrigado.

    Set oShell = CreateObject("Wscript.Shell")
    Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
     bProcessoEmExecucao = True
    While bProcessoEmExecucao
    WScript.Sleep 5000
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'skype.EXE'")
    For Each objItem in colItems
       If objItem.CommandLine = """C:\Program Files (x86)\Skype\Phone\Skype.exe"" /secondary" then
    		 oShell.run "TASKKILL /PID "& objItem.ProcessId &" /F",0,true
    		 bProcessoEmExecucao = True
    	End if
    Next
    WEnd

    quinta-feira, 3 de abril de 2014 11:28
  • Prezados amigos!

    como faço para colocar esse script em execução??

    No meu caso quero bloquear qualquer instância do Skype nas maquinas dos usuários!

    Abraço

    terça-feira, 6 de maio de 2014 14:56
  • Boa tarde Amigo,

    Para conseguir executar o script, salve ele com a extensão .vbs, ai ao executá-lo ele irá ficar rodando como processo do windows, até que a máquina reinicie.

    Após a reinicialização da máquina ele não irá carregar novamente, a não ser que você configure, no meu caso como trabalho com domínio, configurei para ao logar no domínio ele seja carregado. Ou até mesmo configurar para ele inicializar juntamente com o windows.

    Espero ter ajudado.

    terça-feira, 3 de junho de 2014 17:23
  • Bom dia Marco.

    Assim como os outros, tbem utilizei esse script para bloquear a 2º instancia do Skype em máquinas de clientes... mas gostaria de saber, nos processos do Windows, ele ficará executando a cada 5seg como configurado no Script, mas gostaria de saber como identificar o processo. Qual o nome deste processo na lista de Gerenciador de Tarefas do Windows?

    No aguardo.

    Desde já obrigado.

    EDSONLD

    segunda-feira, 28 de julho de 2014 12:34