PowerShell ISE runas usuário relata outro usuário com whoami

1

Eu quero iniciar uma sessão do PowerShell ISE como um usuário do domínio. Se eu inserir: runas.exe /netonly /user:domain.local\username "powershell ise"

Eu sou solicitado para a senha e o ambiente ISE é iniciado. No entanto, a execução de whoami fornece a seguinte saída:
win-machine\user

Esta é a máquina local e o usuário que eu estou logado como.

Esteja familiarizado com algum uso do Linux e sudo , minha intenção é executar a alteração de usuário equivalente e fazer consultas do Active Directory com domain.local\username privileges por meio do shell. Como posso conseguir isso?

EDITAR: Observe que não consigo ingressar no domínio do host.

    
por user1330734 02.05.2018 / 04:57

1 resposta

2

Isso está acontecendo porque é explicitamente o que você solicitou.

Eu recomendaria a leitura do que a opção /netonly faz: link

Por que isso acontece

Basicamente um normal runas executará o programa sob o usuário especificado, da mesma forma que sudo -u faria no Linux. Isso significa que todas as ações locais e remotas ocorrem sob o usuário especificado.

No entanto, quando você passa a opção /netonly , as coisas ficam estranhas. runas acaba executando o programa localmente sob o usuário conectado no momento , mas quaisquer solicitações de rede (presumivelmente, qualquer coisa que faça autenticação Kerberos / NTLM / SPNEGO) usam o especificado usuário.

whoami apenas verifica o usuário local . Uma vez que você especificou /netonly , isto é inalterado, e você terá todas as permissões do seu usuário atualmente logado, você usará o perfil do usuário atual para quaisquer configurações, etc. Tudo até você fazer uma solicitação para um computador em rede, ponto no qual você representará o usuário especificado no comando runas .

Se é isso que você quer, ótimo! Se não, e se você realmente quiser que o programa seja executado totalmente sob o usuário especificado, mesmo na máquina local, remova a opção /netonly do seu comando.

Verificando o usuário

Infelizmente, não parece haver um comando simples como whoami para verificar qual usuário está sendo executado remotamente ao usar /netonly .

Se você tiver alguma forma de comando remoto habilitada, você poderá usá-los. Sem eles, o método mais simples que posso imaginar é conectar-se a um compartilhamento de rede e verificar qual compartilhamento você está conectado do outro lado.

Do computador1:

runas /netonly /user:DOMAIN\TestUser2 powershell

E dentro da instância do powershell:

net use \computer2

O qual se conectará ao IPC$ de computer2 usando o usuário remoto / netonly . Mais tarde, você pode desfazer isso com net use /delete \computer2 .

Do computador2:

net share IPC$

Isso deve fornecer uma lista de usuários conectados, o que deve incluir aquele que você runas 'd:

Share name        IPC$
Path
Remark            Remote IPC
Maximum users     No limit
Users             TestUser2
Caching           Manual caching of documents
Permission        Everyone, FULL

The command completed successfully.
    
por 02.05.2018 / 05:24