Avatar ·

Como obter o nome do usuário atual do Windows em C#?

Olá a todos! Sou um desenvolvedor C# iniciante e estou escrevendo um pequeno aplicativo para uso interno em nossa empresa. Preciso que o programa determine automaticamente qual funcionário está trabalhando no computador e registre esse nome em um log. Tentei usar `Environment.UserName`, mas parece que ele não retorna exatamente o que preciso. Também ouvi falar sobre `WindowsIdentity.GetCurrent()`, mas não entendo a diferença entre essas abordagens. Aqui está um exemplo do meu código, que eu pensei que deveria funcionar: ```csharp using System; class Program { static void Main() { string currentUser = Environment.UserName; Console.WriteLine("Usuário atual: " + currentUser); } } ``` O problema é que quando executo o aplicativo através do Agendador de Tarefas como SYSTEM ou sob outra conta de serviço, obtenho o nome do serviço, não o nome do usuário real que está sentado no computador. Por favor, me digam como obter corretamente o nome do usuário que