Qual é o equivalente do Windows ao comando "whoami" do Unix?


72

Existe um equivalente do Windows ao comando "whoami" do Unix? Se assim for, o que é?


2
Sim, existe e é também whoami
DeepSpace101

use o comando “query session” para obter uma lista dos serviços de terminal atualmente conectados ou desconectados, usuários
Martin

Respostas:


73

Desde o Windows 2000, o whoamicomando faz parte da linha de comando padrão (obrigado a pk por esclarecer isso nos comentários!).

Você pode fazer isso: Abra um prompt de comando e digite "set" e pressione enter. Isso mostra variáveis ​​de ambiente ativas. O nome de usuário conectado atual é armazenado na variável env USERNAME e seu domínio é armazenado na variável USERDOMAIN.

Para selecionar as outras respostas, a partir de uma linha de cmd:

echo %USERDOMAIN%\%USERNAME%

você obterá o usuário logado completo no formato domínio \ nome de usuário.

Você pode fazer o mesmo com o Powershell com isso:

write-host $env:userdomain\$env:username

11
+1 para o aspecto educacional, e para incluir o domínio, bem como o nome de usuário
tomjedrz

@squillman Como posso fazer isso funcionar ao executar um prompt de comando como usuário do Sytem? Porque neste caso, não há nenhuma variável ambiente como% USERDOMAIN% ou% NOME DE UTILIZADOR%
GianT971

@ GianT971 Você quer dizer LocalSystem? Não existe uma maneira para essa conta, pois ela não está associada a um usuário conectado. Normalmente, essa conta é usada para serviços e, quando um serviço está sendo executado como LocalSystem, assume o contexto de segurança do gerenciador de controle de serviços.
squillman

Está bem. Sim, foi o que eu quis dizer. Talvez com as versões mais recentes do PowerShell seja possível, como ao executar um aplicativo .NET invocando Environment.Username na conta LocalSystem, o resultado é "System". Mas ainda não dei uma boa olhada no PowerShell
GianT971 6/12/12

@ GianT971 Você pode gerar processos cmd ou powershell e executar scripts, mas não terá um shell interativo.
squillman

16

Isso relata quase todas as mesmas informações que todo mundo está dizendo, mas você também pode digitar

SET U

Ele retornará todas as variáveis ​​de ambiente que começam com U.

Como um aparte, o SET L pode ser útil para depurar problemas do servidor de logons.


11
Às vezes, você apenas vê dicas que precisam ser compartilhadas, essas duas são ótimas.
Banheiras


5

Da linha de comando? "echo% username%" deve fazê-lo. O usuário conectado é armazenado na variável de ambiente "nome de usuário".

Em uma sessão gráfica, ctrl-alt-del exibirá uma tela com o usuário conectado exibido.



3

Os itens acima são nativos do sistema operacional e têm melhores respostas, mas, no espírito de perfeição, existe literalmente um whoami.exe nas ferramentas de suporte para 2000 e XP. Com 32 kb, seria fácil implementar a política de grupo, se você quisesse seguir esse comando.


1

No autoexec, ou no prompt do DOS, digite o prompt% USERDOMAIN% \% USERNAME% $ p $ g , e você exibirá quem você está conectado e verá o prompt típico como este: DOMAIM \ nome de usuário C:>

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.