• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
OpenTechTips

OpenTechTips

Comprehensive IT Guides for Pros and Enthusiasts

MENUMENU
  • HOME
  • ALL TOPICS
    • Exchange
    • InfoSec
    • Linux
    • Networking
    • Scripting
      • PowerShell
    • SSL
    • Tools
    • Virtualization
    • Web
    • Windows
  • ABOUT
  • SUBSCRIBE
Home » How to get the UPN of current user with PowerShell (Cmd)

How to get the UPN of current user with PowerShell (Cmd)

October 24, 2021 - by Zsolt Agoston - last edited on October 24, 2021

In many cases, potentially with scripts triggered by scheduled tasks you need to query the User Principal Name (UPN) or the actual user who is currently logged in or running a task.

The command that you are looking for is:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
whoami /upn
whoami /upn
whoami /upn

Example

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
PS C:\> whoami /upn
alice@protectigate.com
PS C:\>
PS C:\> whoami /upn alice@protectigate.com PS C:\>
PS C:\> whoami /upn
alice@protectigate.com

PS C:\>

Pro tip: you can query all of the environmental variables by using this cmdlet:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
ls env:
ls env:
ls env:

Alternatives to get Usernames and Domains

These following command will query the environmental variables in the system.

I. PowerShell

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Get user's SamAccountName
PS C:\> $env:USERNAME
alice
# Get the NETBIOS name of the userdomain
PS C:\> $env:USERDOMAIN
PRO
# Get the DNS name of the domain
PS C:\> $env:USERDNSDOMAIN
PROTECTIGATE.COM
# Combine them to get the UPN. Only works if no alternative domain suffixes are used in the domain
PS C:\> "$env:USERNAME@$env:USERDNSDOMAIN"
alice@PROTECTIGATE.COM
PS C:\>
# Get user's SamAccountName PS C:\> $env:USERNAME alice # Get the NETBIOS name of the userdomain PS C:\> $env:USERDOMAIN PRO # Get the DNS name of the domain PS C:\> $env:USERDNSDOMAIN PROTECTIGATE.COM # Combine them to get the UPN. Only works if no alternative domain suffixes are used in the domain PS C:\> "$env:USERNAME@$env:USERDNSDOMAIN" alice@PROTECTIGATE.COM PS C:\>
# Get user's SamAccountName
PS C:\> $env:USERNAME
alice

# Get the NETBIOS name of the userdomain
PS C:\> $env:USERDOMAIN
PRO

# Get the DNS name of the domain
PS C:\> $env:USERDNSDOMAIN
PROTECTIGATE.COM

# Combine them to get the UPN. Only works if no alternative domain suffixes are used in the domain
PS C:\> "$env:USERNAME@$env:USERDNSDOMAIN"
alice@PROTECTIGATE.COM

PS C:\>

II. Cmd line

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Same as before only using the cmd variant of the environmental variables
C:\>echo %USERNAME%
alice
C:\>echo %USERDOMAIN%
PRO
C:\>echo %USERDNSDOMAIN%
PROTECTIGATE.COM
# Combine them
C:\>echo %USERNAME%@%USERDNSDOMAIN%
alice@PROTECTIGATE.COM
C:\>
# Same as before only using the cmd variant of the environmental variables C:\>echo %USERNAME% alice C:\>echo %USERDOMAIN% PRO C:\>echo %USERDNSDOMAIN% PROTECTIGATE.COM # Combine them C:\>echo %USERNAME%@%USERDNSDOMAIN% alice@PROTECTIGATE.COM C:\>
# Same as before only using the cmd variant of the environmental variables
C:\>echo %USERNAME%
alice

C:\>echo %USERDOMAIN%
PRO

C:\>echo %USERDNSDOMAIN%
PROTECTIGATE.COM

# Combine them
C:\>echo %USERNAME%@%USERDNSDOMAIN%
alice@PROTECTIGATE.COM

C:\>

Reader Interactions

Comments Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Tools

Secondary Sidebar

CONTENTS

  • Example
  • Alternatives to get Usernames and Domains
  • I. PowerShell
  • II. Cmd line

  • Terms of Use
  • Disclaimer
  • Privacy Policy
Manage your privacy

To provide the best experiences, we and our partners use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us and our partners to process personal data such as browsing behavior or unique IDs on this site and show (non-) personalized ads. Not consenting or withdrawing consent, may adversely affect certain features and functions.

Click below to consent to the above or make granular choices. Your choices will be applied to this site only. You can change your settings at any time, including withdrawing your consent, by using the toggles on the Cookie Policy, or by clicking on the manage consent button at the bottom of the screen.

Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Statistics

Marketing

Features
Always active

Always active
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
Manage options
{title} {title} {title}
Manage your privacy
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Statistics

Marketing

Features
Always active

Always active
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
Manage options
{title} {title} {title}