Pergunte por certas credenciais ao tentar abrir um arquivo no Windows [fechado]


1

Eu tenho um arquivo no windows 7 e o que eu quero fazer é quando alguém tenta abrir esse arquivo eu quero uma janela para aparecer pedindo o nome de usuário e senha (que não está relacionado com as credenciais do Windows, essas credenciais seriam armazenadas em algum lugar outro arquivo) e, dependendo do nome de usuário e senha inseridos, um arquivo será copiado de um local para outro. Portanto, por exemplo, se userA efetuou login com passUserA, o arquivo A será copiado para uma pasta de destino, se userB efetuou login com passUserB, o arquivo B será aquele copiado para uma pasta de destino. Quaisquer pensamentos, por favor, como isso pode ser feito?


você pode fornecer mais detalhes sobre por que você iria querer ou precisar desse comportamento?
Jerome Indefenzo

@ JeromeIndefenzo porque, dependendo das credenciais do usuário, eu quero que um arquivo seja copiado em um local específico antes da execução do aplicativo.
Tak

Quero dizer, quais são esses arquivos que você está copiando e para onde está copiando? Quem estará usando as credenciais do usuário e o que elas estarão acessando? Qual é o arquivo que deveria supostamente acionar o prompt de login?
Jerome Indefenzo

O comportamento que você está fazendo é bastante hacky. Tem de haver uma maneira melhor de obter a funcionalidade que você deseja, sem ter que passar por todos os tipos de coisas manualmente (observando a abertura de um arquivo, gerenciando credenciais de usuário, copiando arquivos, etc).
Jerome Indefenzo

@JeromeIndefenzo então eu tenho um atalho de um. Exe de um aplicativo, quando este arquivo .exe é executado, ele carrega um arquivo de inicialização salvo em um determinado local que é carregado no aplicativo. Então, eu tenho dois arquivos de inicialização e, dependendo das credenciais do usuário, um desses arquivos de inicialização será copiado para o local do arquivo de inicialização, então, quando clico duas vezes no atalho ou no próprio exe, quero ter esse nome de usuário e entrada de senha e, dependendo deles, o arquivo de inicialização correto será carregado e, em seguida, o aplicativo será aberto.
Tak

Respostas:


1

Crie um script que faça a instalação necessária e chame esse script usando o atalho em vez do executável real. O script irá iniciar o executável. Isso será fácil de mexer, por isso não fornece segurança. Você precisará usar Set-ExecutionPolicypara permitir a execução de scripts do PowerShell.

O script em si (salvo como um .ps1arquivo) poderia ser assim:

$credentials = Get-Credential

if ($credentials.Username -eq 'DOMAIN\User') {
    Copy-Item fromhere\startup1 tothere
} elseif {
    Copy-Item fromhere\startup2 tothere
}

MyProgram.exe

Este script NÃO iria realmente verificar as credenciais, apenas que o nome de usuário correto foi escolhido. Você poderia fazer qualquer número de ações dessa maneira e o usuário ainda seria capaz de iniciar o executável diretamente se quisesse.


é possível tornar este script protegido para que ninguém possa editá-lo ou ver o nome de usuário e a senha?
Tak

Você não pode esconder o nome de usuário como senha, se você armazená-lo nesse arquivo. O que você poderia fazer é usar um hash em vez disso. Isso tornaria um pouco mais difícil. Para proteção, você poderia remover as permissões de gravação / alteração para usuários normais do script.
Seth
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.