Portanto, você precisa impedir que determinados arquivos executáveis sejam executados para cada usuário conectado a um PC para Windows 7 e / ou Windows Vista , e você precisa implementá-lo via CMD para aplicar localmente no nível da máquina.
Instruções e detalhes
Veja Como bloquear um Aplicação ou .EXE de execução no Windows e de algumas informações, como listado lá, eu criei o script de lote abaixo que pode ser executado para " não permitir " esses executáveis sejam executados a partir desse conta de usuário.
Se você precisar dimensionar esse método CMD para adicionar mais nomes de arquivos executáveis do que os quatro que você forneceu, mova-se para o próximo número e, em seguida, insira o nome do executável como no exemplo abaixo, por exemplo:
ECHO "3"="Gears-chrome-opt.msi" >> "%TmpRegFile%"
ECHO "4"="GoogleUpdate.exe" >> "%TmpRegFile%"
ECHO "5"="App5toBlock.exe" >> "%TmpRegFile%"
ECHO "6"="App6toBlock.msi" >> "%TmpRegFile%"
Veja Como Bloquear um aplicativo ou .EXE de executar no Windows para obter mais explicações.
Você pode considerar testar e substituir HKEY_CURRENT_USER com HKEY_LOCAL_MACHINE no script abaixo para bloquear a proibição de execução desses arquivos executáveis em todo o computador, em vez da conta do usuário que está conectado quando o script é executado.
Você também pode precisar executar o script em lote como administrador ou o comando EXIT /B
, para que o texto do buffer de tela permaneça ativo.
Script em lote
Eu usei os comandos TASKKILL no script abaixo para matar vigorosamente todas as instâncias dos mesmos nomes de arquivos executáveis para não permitir o uso importação de registro. Se algum estiver rodando na memória da máquina quando esta rodar, então eles serão mortos; escala a lógica aplicável conforme necessário para adicionar mais processos para matar.
O Windows Explorer Shell precisa ser eliminado e reiniciado na memória antes que essas configurações entrem em vigor. Fazer um ciclo de energia completo da máquina faria o truque e, potencialmente, fazer o login e voltar a trabalhar. Usei WMIC para atualizar o Windows Explorer com uma cláusula WHERE e CALL
@ECHO OFF
SET TmpRegFile=%temp%\~DisallowExe.reg
IF EXIST "%TmpRegFile%" DEL /Q /F "%TmpRegFile%"
ECHO Windows Registry Editor Version 5.00 >> "%TmpRegFile%"
ECHO. >> "%TmpRegFile%"
ECHO [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] >> "%TmpRegFile%"
ECHO "DisallowRun"=dword:00000001 >> "%TmpRegFile%"
ECHO [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun] >> "%TmpRegFile%"
ECHO "1"="Chrome.exe" >> "%TmpRegFile%"
ECHO "2"="chrome_installer.exe" >> "%TmpRegFile%"
ECHO "3"="Gears-chrome-opt.msi" >> "%TmpRegFile%"
ECHO "4"="GoogleUpdate.exe" >> "%TmpRegFile%"
TASKKILL /F /IM "Chrome.exe"
TASKKILL /F /IM "chrome_installer.exe"
TASKKILL /F /IM "Gears-chrome-opt.msi"
TASKKILL /F /IM "GoogleUpdate.exe"
REG IMPORT "%TmpRegFile%"
PING -n 05 127.0.0.1 > nil
WMIC PROCESS WHERE "Caption = 'explorer.exe'" CALL TERMINATE
EXIT /B