Modificando o código-fonte

Modificando o código-fonte

Temos um aplicativo VB6 legado que envia relatórios automaticamente por e-mail. Ele é executado a partir de uma tarefa agendada em um servidor. Ocasionalmente, um usuário executará o exe - ele está em uma pasta da qual não podemos bloqueá-lo e deve permanecer nessa pasta por motivos muito complicados para serem abordados aqui. Existe uma maneira de impedir que os usuários executem o exe e ao mesmo tempo deixá-lo ser executado a partir da tarefa agendada? Posso modificar o código-fonte do exe, então essa é uma opção se alguém puder me ajudar a descobrir como. Ou se houver uma maneira de definir permissões no exe para que apenas o Agendador de Tarefas (ou nossa equipe de três desenvolvedores) possa executá-lo, isso também funcionaria.

Responder1

Existem duas opções aqui.

Modificando o código-fonte

Modificar o código-fonte é possível. Tudo que você precisa fazer é certificar-se de que o programa requer um parâmetro. Se não estiver presente, nada acontece. Um usuário clicará duas vezes no exe, que não envia um parâmetro. Você pode até fazer um pop-up informando: Este programa deve ser agendado ou algo assim.

Isso pode ser feito usandoObterCommandlineArgs.

A desvantagem disso é que, se por algum motivo alguém esquecer o argumento secreto da linha de comando, em algum momento as pessoas poderão parar de usá-lo (por exemplo, se você sair da empresa, a TI for feita por uma empresa diferente, etc.)

Configurando permissões de acesso específicas no arquivo .exe

Outra opção é simplesmente definir permissões no arquivo .exe. Você pode fazer com que apenas os administradores possam abrir o arquivo ou negar o resto. Negar tem precedência sobre permitir permissões, portanto é possível que você também esteja negando seu acesso administrativo. Além disso, um usuário com conhecimento e direitos suficientes pode desfazer isso e iniciar o executável. Além disso, se copiarem o executável localmente, poderão remover os direitos e iniciar o programa.

informação relacionada