Quel est l'équivalent Windows de la commande Unix "whoami"?


72

Existe-t-il un équivalent Windows de la commande Unix "whoami"? Si oui, c'est quoi?


2
Oui, et c'est aussi whoami
DeepSpace101

utilisez la commande «session de requête» pour obtenir la liste des services de terminal actuellement connectés ou déconnectés
Martin

Réponses:


73

Depuis Windows 2000, la whoamicommande fait partie de la ligne de commande standard (merci à pk de l'avoir effacée dans les commentaires!).

Vous pouvez faire ceci: Ouvrez une invite de commande et tapez "set" puis appuyez sur Entrée. Cela montre les variables d'environnement actif. Le nom d'utilisateur actuellement connecté est stocké dans la variable USERNAME env et votre domaine est stocké dans la variable USERDOMAIN.

Pour reprendre les autres réponses, à partir d'une ligne de commande:

echo %USERDOMAIN%\%USERNAME%

vous obtiendrez l'utilisateur connecté complet dans le format domaine \ nom d'utilisateur.

Vous pouvez faire la même chose avec Powershell avec ceci:

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

1
+1 pour l'aspect éducatif, et pour inclure le domaine ainsi que le nom d'utilisateur
tomjedrz

@squillman Comment puis-je faire en sorte que cela fonctionne lors de l'exécution d'une invite de commande en tant qu'utilisateur Sytem? Parce que dans ce cas, il n'y a pas de variable d'environnement telle que% USERDOMAIN% ou% USERNAME%
GianT971

@ GianT971 Voulez-vous dire LocalSystem? Il n'y a pas de moyen pour ce compte puisqu'il n'est pas associé à un utilisateur connecté. En règle générale, ce compte est utilisé pour les services. Lorsqu'un service s'exécute en tant que LocalSystem, il prend en compte le contexte de sécurité du gestionnaire de contrôle des services.
squillman

D'accord. Oui c'est ce que je voulais dire. Peut-être qu'avec les dernières versions de PowerShell, il est possible, car lors de l'exécution d'une application .NET appelant Environment.Username sous un compte LocalSystem, le résultat est "Système". Mais je n'ai pas encore bien regardé PowerShell
GianT971

@ GianT971 Vous pouvez générer des processus cmd ou powershell et exécuter des scripts, mais vous n'obtiendrez pas de shell interactif.
squillman

16

Cela rapporte la plupart des mêmes informations que tout le monde dit, mais vous pouvez aussi taper

SET U

Il renverra toutes les variables d'environnement commençant par U.

De plus, SET L peut être utile pour le débogage des problèmes de logonserver.


1
Parfois, vous ne voyez que des conseils qui doivent être partagés, ces deux sont excellents.
Tubs


5

En ligne de commande? "echo% username%" devrait le faire. L'utilisateur connecté est stocké dans la variable d'environnement "nom d'utilisateur".

À partir d'une session graphique, ctrl-alt-suppr vous donnera un écran avec l'utilisateur connecté affiché.



3

Les éléments ci-dessus sont natifs du système d’exploitation et offrent de meilleures réponses, mais dans un esprit d’exhaustivité, il existe littéralement un whoami.exe dans les outils de support de 2000 & XP. À 32 Ko, il serait facile de déployer une stratégie de groupe si votre cœur était défini sur cette commande.


1

Dans autoexec ou à l'invite du DOS, tapez l' invite% USERDOMAIN% \% USERNAME% $ p $ g . Vous verrez qui vous êtes connecté en tant que, et vous verrez l'invite type comme ceci: DOMAIM \ nom d'utilisateur C:>

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.