Usuário com melhor resposta
Bloquear Skype /secondary

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.
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
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
-
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
-
-
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.
-
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