以下のコードを使用してグループのリストを取得すると、グループ名を表す長い文字列が表示されます
CN = group.xy.admin.si、OU = Other、OU = Groups、OU = 03、OU = UWP Customers、DC = WIN、DC = CORP、DC = com
ただし、この場合はgroup.xy.admin.siであるグループ名を取得したいだけです。
public static List<string> GetGroups(DirectoryEntry de)
{
var memberGroups = de.Properties["memberOf"].Value;
var groups = new List<string>();
if (memberGroups != null)
{
if (memberGroups is string)
{
groups.Add((String)memberGroups);
}
else if (memberGroups.GetType().IsArray)
{
var memberGroupsEnumerable = memberGroups as IEnumerable;
if (memberGroupsEnumerable != null)
{
foreach (var groupname in memberGroupsEnumerable)
{
groups.Add(groupname.ToString());
}
}
}
}
return groups;
}