title: Environment.UserName gives different results for same user (casing): alternative/transformation?
body: <p>The .NET call <code>Environment.UserName</code> for the most part (>99.9% of the time) gives usernames in the same casing - for example <code>Awebb</code>.  Occasionally though I'm seeing <code>AWebb</code>.  Sometimes it seems that it relates the username as the user entered it when logging on, but other times this is confirmed as not the case.</p>
  
  <p>I think this is bad design and a username should be a username, correctly-cased, no matter what: if the user decides to enter <code>aWEbb</code> then that doesn't mean the OS should start telling apps that that's their username.</p>
  
  <p>That aside, what's the best/other way to obtain the current user's username - ideally without any domain - using the same security permissions required for <code>Environment.UserName</code>?  I know I could normalise everything to lowercase/uppercase but I'm really after obtaining the username correctly capitalised/formatted.</p>