按名字和姓氏获取 Windows LiveID

Get Windows LiveID by first and last name

在我的公司,我们使用 MS Outlook 和 Skype。在这两个应用程序中,我都可以单击多个用户来获取有关他们的信息,例如名字、姓氏、可用性、电子邮件地址或 WindowsIdentification.Name 的信息(我认为,这称为 Live ID)。

它看起来像在 picuture 中。我刚刚从照片中删除了个人信息。

是否可以通过名字和姓氏请求任何用户的此信息?

我要找的是函数:

/*This function exists*/
System.Security.Principal.WindowsIdentity.GetCurrent().Name;

但我不想知道自己的LiveID,而是其他用户的ID。所以,我需要这样的东西:

/*This function does not exists*/
string UID = System.Security.Principal.WindowsIdentity.GetByName("Max Mustermann").Name;
Console.WriteLine(UID) /*prints DomainName/UserID*/

.NET 中有类似的东西吗?

您可以使用 DirectorySeacher class 来执行此操作。

例如:

DirectorySearcher searcher1 = new DirectorySearcher(entry);
searcher1.Filter = string.Format("(&(objectCategory=person)(objectClass=user)(givenname={0})(sn={1}))", aName, aSName);

SearchResultCollection results1;
results1 = searcher1.FindAll();