1
Active Directoryからユーザーの部門を取得しようとしています。私は、次のクラスがあります。PrincipalContext()を使用してActive Directoryからユーザー部門を取得できますか?
public class DomainContext
{
public string DisplayName { get; set; }
public string Name { get; set; }
public string SamAccountName { get; set; }
public string DistinguishedName { get; set; }
public string UserPrincipalName { get; set; }
public string Department { get; set; }
}
次に、以下の方法を使用して、私はなど、ユーザー名、表示名、SAMアカウントを取得することができています....
public override void getUserDepts(SPItemEventProperties properties)
{
base.ItemUpdating(properties);
string[] offices = new string[] { "OfficeA", "OfficeB", "OfficeC" };
string ADServerName = "*****";
string ADusername = "******";
string ADpassword = "*****";
using (var context = new PrincipalContext(ContextType.Domain, ADServerName, ADusername, ADpassword))
using (var searcher = new PrincipalSearcher(new UserPrincipal(context)))
{
var searchResults = searcher.FindAll();
foreach (Principal p in searchResults)
{
if (p.DistinguishedName.ToLower().Contains(offices[0].ToLower()) || p.DistinguishedName.ToLower().Contains(offices[1].ToLower()) || p.DistinguishedName.ToLower().Contains(offices[2].ToLower())))
{
DomainContext dc = new DomainContext();
dc.DisplayName = p.DisplayName;
dc.UserPrincipalName = p.UserPrincipalName;
dc.Name = p.Name;
dc.SamAccountName = p.SamAccountName;
dc.DistinguishedName = p.DistinguishedName;
// dc.Department = p. **CAN NOT GET THE DEPARTMENT NAME**
}
}
}
}
を私はできないのです部門名を取得する方法を見つける
[this](https://stackoverflow.com/questions/14278274/how-i-get-active-directory-user-properties-with-system- directoryservices-account)あなたが探しているものは? – jAC
これはもっと便利かもしれません - https://stackoverflow.com/questions/1785751/how-to-get-company-and-department-from-active-directory-given-a-userprincipa –