@echo off setlocal rem ============================================================ rem Persist USEREMAIL for the logged-on user (setx user scope). rem Keep DomainPart in sync with edge_chrome_extension.bat when whoami /upn is unavailable. rem ============================================================ set "DomainPart=autoset.example.com" echo ============================== echo set_useremail_env - USEREMAIL echo ============================== echo. echo Resolving USEREMAIL ... set "UserEmail=" for /f "usebackq delims=" %%i in (`whoami /upn 2^>nul`) do set "UserEmail=%%i" if defined UserEmail ( echo Source: whoami /upn ) else if defined USERNAME ( set "UserEmail=%USERNAME%@%DomainPart%" echo Source: USERNAME + DomainPart ) else ( echo USERNAME not defined. Trying hostname fallbacks... set "TempUser=" if defined COMPUTERNAME ( set "TempUser=%COMPUTERNAME%" ) else if defined HOSTNAME ( set "TempUser=%HOSTNAME%" ) else ( if defined LOGONSERVER ( set "TempUser=%LOGONSERVER:\=%" ) else ( set "TempUser=unknown" ) ) set "UserEmail=%TempUser%@%DomainPart%" ) echo USEREMAIL will be set to: %UserEmail% echo. setx USEREMAIL "%UserEmail%" if errorlevel 1 ( echo [ERROR] setx USEREMAIL failed. rem pause exit /b 1 ) endlocal & set "USEREMAIL=%UserEmail%" echo Current session updated. New Command Prompt windows will also see USEREMAIL. echo. rem pause exit /b 0