仅使用域和用户名创建WindowsIdentity

我正在构建一个使用当前用户的WindowsIdentity获取用户信息的站点。 我从中得到的主要信息是ssid。

我为当前用户执行此操作,如下所示

IntPtr logonToken = WindowsIdentity.GetCurrent().Token; WindowsIdentity windowsId = new WindowsIdentity(logonToken); string ssid = windowsId.User.ToString(); 

我现在需要做的是,并且失败了,就是获取域中存在的任意用户名的ssid。

我尝试了WindowsIdentity(字符串),但这给了我一个SecurityException

提供的名称不是正确形成的帐户名称。

你是如何格式化校长的? 通常它们采用user@domain.ext的forms,因此如果您的AD在例如example.com上提供主体解析,则用户主体名称(UPN)可能如下所示: joe.bloggs@example.comWindowsIdentity(string)构造函数接受UPN,而不是旧的格式用户名EXAMPLE\joe.bloggs