回到我的活動目錄工具...獲取活動目錄中的組成員資格(memberOf)列表
我試圖列出用戶的「member of」屬性中的組。 下面是我使用的功能:
public static DataTable ListGroupsByUser(string selectedOu)
{
DataTable groupListByUser = new DataTable();
String dom = "OU=" + selectedOu + ",OU=XXX,DC=XXX,DCXXX,DC=XXX,DC=XXX";
DirectoryEntry directoryObject = new DirectoryEntry("LDAP://" + dom);
DataColumn column;
DataRow row;
column = new DataColumn();
column.ColumnName = "ID";
groupListByUser.Columns.Add(column);
column = new DataColumn();
column.ColumnName = "User";
groupListByUser.Columns.Add(column);
column = new DataColumn();
column.ColumnName = "Groups";
groupListByUser.Columns.Add(column);
int i = 1;
foreach (DirectoryEntry child in directoryObject.Children)
{
row = groupListByUser.NewRow();
groupListByUser.Rows.Add(row);
row["ID"] = i++;
if (child.Properties["memberOf"].Value != null)
{
row["User"] = child.Properties["sAMAccountName"].Value.ToString();
row["Groups"] = child.Properties["memberOf"].Value.ToString();
}
else
{
row["Groups"] = "blabla";
}
}
return groupListByUser;
}
它返回僅屬於一組用戶的權利組。只要有多個組,它就會返回System.Object []。
如何才能看到所有組?
謝謝Marc,我設法處理用戶和組,我無法做的是循環訪問用戶的成員名單。我用accountManagement命名空間而不是directoryServices重建該工具是否值得? – 2012-02-28 12:52:13
@奧利弗:謝謝你們。儘管你的建議,我找到了一個解決方案,如下:'code'if(child.Properties [「memberOf」]。Value!= null) { foreach(child.Properties [「memberOf」]){ // row [「User」] = child.Properties [「sAMAccountName」]。Value.ToString(); row [「Member Of」] + = memberof.ToString()+「///」; } } else row [「Member Of」] =「No Group Defined」; } – 2012-02-29 14:02:54