Como obter o nome de usuário original em um prompt de comando iniciado por runas

2

Eu uso runas /user:abc cmd para iniciar um prompt de comando. Após o login, vou executar um script vbs.

O login abc tem permissão especial de arquivo / pasta e é o principal motivo para usar runas. Caso contrário, o script vbs não funcionará devido à falta de permissão

Dentro desta sessão de prompt de comando, como posso obter o nome de usuário que iniciou o comando runas? Eu quero registrar essa informação dentro do meu script vbs.

Como exemplo, digamos que meu id seja 'akong'. Depois de iniciar o prompt de comando como 'abc' com runas, quero poder imprimir 'akong' de uma forma ou de outra.

    
por Anthony Kong 23.01.2013 / 01:14

3 respostas

0

AFAIK você precisaria enviar essas informações para o script.

exemplo:

runas / user: abc program.exe% username%

Eu estou supondo que o env será expandido antes que o comando seja processado ... mas não tenho como verificar isso no momento.

    
por 23.01.2013 / 01:20
0

contanto que você não use / noprofile como um switch para runas, o perfil do usuário abc será carregado. Você pode simplesmente digitar

whoami

na linha de comando e retornará nome_do_domínio \ abc

ou no VBScript:

Set objNet = CreateObject("WScript.NetWork")

strInfo = "User Name is " & objNet.UserName & vbCRLF & _ "Computer Name is " & objNet.ComputerName & vbCRLF & _ "Domain Name is " & objNet.UserDomain

MsgBox strInfo

    
por 23.01.2013 / 01:36
0

Estou começando a achar que não é possível obter o nome do usuário original. Na linha de comando eu tentei

Set

Ele lista todos os detalhes do usuário 'abc' e nenhum usuário 'akong'.

    
por 23.01.2013 / 09:42