22

How can I read a user specific environment variable? I know how to get a system wide one, like

Environment.GetEnvironmentVariable("SOMETHING");

Thanks in advance!

Deleted
  • 3,879
  • 6
  • 31
  • 50

4 Answers4

38

Use the other overload of the Environment.GetEnvironmentVariable Method that lets you specify the EnvironmentVariableTarget.

Environment.GetEnvironmentVariable(variable, target);

target can be:
EnvironmentVariableTarget.Process,
EnvironmentVariableTarget.User,
EnvironmentVariableTarget.Machine.

Jaroslav Jandek
  • 9,323
  • 1
  • 26
  • 30
6

It's the same method, just set the second parameter to be User as:

System.Environment.GetEnvironmentVariable("varName", EnvironmentVariableTarget.User);
Hans Olsson
  • 53,038
  • 14
  • 91
  • 113
  • I am trying to get username but GetEnvironmentVariable returns null: System.Environment.GetEnvironmentVariable("username", EnvironmentVariableTarget.User); – James Nov 07 '16 at 13:43
  • 1
    @James I think you're looking for `System.Environment.UserName`. – Hans Olsson Nov 07 '16 at 14:10
0

Use second overload of GetEnvironmentVariable which let's you specify EnvironmentVariableTarget.

Giorgi
  • 29,755
  • 12
  • 86
  • 122
-1
var UserName = Environment.GetEnvironmentVariable("username");