23

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
  • 4,067
  • 6
  • 33
  • 51

4 Answers4

39

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,463
  • 1
  • 28
  • 30
7

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

System.Environment.GetEnvironmentVariable("varName", EnvironmentVariableTarget.User);
Hans Olsson
  • 54,199
  • 15
  • 94
  • 116
  • 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
  • 30,270
  • 13
  • 89
  • 125
0
var UserName = Environment.GetEnvironmentVariable("username");