Tornando o aplicativo sempre executado como um usuário diferente

2

Estou procurando uma alternativa runas.

É possível configurar um aplicativo específico para SEMPRE EXECUTAR sob uma conta diferente?

Isso é muito diferente de definir um atalho que faz um run-as (há desvantagens para isso que estou tentando evitar).

Eu quero dizer ao sistema que, se você rodar o Nitro, ele deve rodar como um usuário diferente.

O método de definição de atalhos não funcionará bem para mim porque ele teria que executar o atalho, depois procurar o arquivo, e ele perderia a capacidade de simplesmente clicar duas vezes no pdf e ter o Nitro automaticamente abro esse pdf (eu quero continuar a abrir automaticamente um pdf no qual o usuário clicou duas vezes, mas ele deve sempre ser executado como um usuário diferente no Nitor - o programa pdf padrão).

Gente, não baixe isso só porque a resposta pode ser "Não, não é possível". Eu acho que isso pode não ser possível, mas eu fiquei surpreso antes (para minha alegria, e ainda assim, menos votado por fazer uma pergunta valiosa). Se houver uma resposta para isso, seria muito valioso.

Na verdade, estou usando o Windows 7, mas se for possível em 10, considerarei uma atualização.

    
por Kam 03.10.2018 / 19:24

2 respostas

0

Acho que isso pode ser feito substituindo o executável do aplicativo por um script que faz um comando RunAs .

Pode ser qualquer script ou script compilado como executável e com o mesmo nome.

Se você preferir não substituir o executável, pode escrever um número adicional script como .bat ou .cmd e coloque-o na mesma pasta que o .exe . Ves vvBes vves vvv vvv ves vvvvvvv ves ves Windows preferindo executar .exe antes desses tipos.

Você pode alterar a ordem de precedência modificando o ambiente PATHEXT B v esesves v vvesB es es eses eses eses eseses eses eses %código%, para avançar a precedência do sufixo escolhido antes de .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC .

Para informações sobre o PATHEXT, veja as respostas answer1 e answer2 .

    
por 03.10.2018 / 21:16
0

Existe uma maneira de fazer isso, mas você terá que se familiarizar com alguns hacks de registro. Vou descrevê-lo passo a passo:

  1. Inicie o Editor do Registro (regedit.exe) e expanda HKEY_CLASSES_ROOT. Essa chave é onde o Windows registra todas as associações de tipo de arquivo e como ele sabe qual programa abrir quando você clica duas vezes em um arquivo.
  2. Localize a chave .pdf e anote a entrada (Padrão) à direita. Esse será o nome do ID do aplicativo associado aos arquivos PDF em seu sistema. Eu tenho o Acrobat instalado no meu sistema, então o meu diz AcroExch.Document.2017. Você pode dizer algo diferente se o Nitro for o programa padrão para abrir PDFs.

  • Role para baixo para localizar a chave com o nome que você identificou acima. Observe que ainda estamos olhando para HKEY_CLASSES_ROOT. Observe também que provavelmente haverá muitas chaves com nomes muito parecidos. Você deve corresponder exatamente ao nome .
  • Solte a tecla e vá para shell - > Aberto - > comando como mostrado abaixo. O valor (Padrão) é o comando que o Windows executará quando você abrir (ou seja, clicar duas vezes) no arquivo.
  • Você pode colocar qualquer comando que quiser aqui. Observe que, no meu exemplo, o comando mostra o caminho completo para o arquivo .EXE, seguido por um argumento (o nome do arquivo):

    "C:\Program Files (x86)\Adobe\Acrobat Reader 2017\Reader\AcroRd32.exe" "%1"
    

    No meu sistema, eu mudaria para:

    runas /user:<user> "\"C:\Program Files (x86)\Adobe\Acrobat Reader 2017\Reader\AcroRd32.exe\" \"%1\""
    

    Onde <user> seria o nome da conta.

  • É isso. Você pode fechar o Editor do Registro e pronto.

    OBSERVE o kung-fu que eu tive a ver com as aspas na etapa 5. É importante que você entenda isso corretamente. O comando para abrir PDFs no meu computador não é mais AcroRd32.exe , é runas.exe . Runas.exe aceita apenas um argumento - a linha de comando completa a ser executada como se você tivesse digitado em um prompt de comando. Como essa string tem espaços, a coisa toda deve estar entre aspas. E como a própria string entre aspas também possui aspas (porque o nome do arquivo pode conter espaços), essas aspas devem ter escape como literais de string.

        
    por 05.10.2018 / 01:23