public PSADObject GetADObject(ADObjectFilterOptions options) { PSADObject result = null; Debug.Assert(options != null); if (IsSet(options.Mail, options.UPN, options.Id)) { result = FilterUsers(options).FirstOrDefault(); } if (result == null && IsSet(options.SPN, options.Id)) { result = FilterServicePrincipals(options).FirstOrDefault(); } if (result == null && IsSet(options.Mail, options.Id)) { result = FilterGroups(options).FirstOrDefault(); } return result; }
public static string GetDisplayNameForADObject(Guid id, ActiveDirectoryClient adClient) { string displayName = ""; if (id == null || adClient == null || id == Guid.Empty) return displayName; else { string upnOrSpn = ""; var obj = adClient.GetADObject(new ADObjectFilterOptions() { Id = id.ToString(), Paging = true, }); if (obj != null) { displayName = obj.DisplayName; if (obj is PSADUser) upnOrSpn = ((PSADUser)obj).UserPrincipalName; else if (obj is PSADServicePrincipal) upnOrSpn = ((PSADServicePrincipal)obj).ServicePrincipalName; } return displayName + (!string.IsNullOrWhiteSpace(upnOrSpn) ? (" (" + upnOrSpn + ")") : ""); } }