0
namespace SignatureCreator
{
class Program
{
static void Main(string[] args)
{
string delimiter = ",";
// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
// find currently logged in user
UserPrincipal up = UserPrincipal.Current;
string displayName = up.DisplayName;
string title = up.Description;
string phoneNumber = up.VoiceTelephoneNumber;
string[] userName = displayName.Split(new string[] { delimiter }, StringSplitOptions.None);
string firstName = userName[1];
string lastName = userName[0];
firstName = firstName.Substring(1);
firstName = firstName.ToUpper();
lastName = lastName.ToUpper();
Console.WriteLine(firstName +" "+ lastName);
Console.WriteLine(title);
Console.WriteLine(phoneNumber);
DirectoryEntry entry = up.GetUnderlyingObject() as DirectoryEntry;
System.DirectoryServices.PropertyCollection props = entry.Properties;
/*
*
*/
foreach (string propName in props.PropertyNames)
{
if (entry.Properties[propName].ToString() == "mobile")
{
Console.WriteLine(propName + " = " + entry.Properties[propName].Value);
}
else
{
Console.WriteLine(propName + " = NULL");
}
}
Console.ReadKey();
StringBuilder sb = new StringBuilder();
}
}
}
我試圖通過活動目錄信息循環查找用戶的手機號碼。但我無法弄清楚如何循環並返回它。即使我只評估propname == mobile,它也不會返回true。我究竟做錯了什麼?entry.Properties [propName] .ToString()==「mobile」未評估爲真
什麼是輸出?如果「mobile」在您的房產列表中,您應該在輸出中看到「mobile = ...」。如果是這樣,常見的錯誤是你正在查看的字符串之前或之後的空白,或者是不一致的情況(在比較之前調用「.ToLower()」)。 – piojo
有些時候這個問題是由於一個額外的空間,所以爲了嘗試使用'Trim()'如'if(entry.Properties [propName] .ToString()。Trim()==「mobile」)' – Rahul