Вот простое консольное приложение, которое я запускаю в командной строке:
using System;
using System.Threading;
namespace Test
{
internal class Runner
{
[STAThread]
static void Main(string[] args)
{
Console.WriteLine(Thread.CurrentPrincipal.GetType().Name);
Console.WriteLine(Thread.CurrentPrincipal.Identity.Name);
}
}
}
На выходе получается 'GenericPrincipal' и пустая строка в качестве имени идентификатора. Почему запускается -time создает GenericPrincipal
вместо WindowsPrincipal
? Как заставить его создать WindowsPrincipal
из токена безопасности запускаемого процесса (cmd.exe в моем случае) ?