相关链接
User Profiles and User Information List Synchronization
User Information List- SharePoint中隐藏的用户列表
User Information List也是一个Sharepoint中的一个List,不过是一个隐藏的List,因为不是每个人都可以访问这个列表的,目前我认为是System Acount可以访问!
你可以通过下面方式访问:
[转:User Information List- SharePoint中隐藏的用户列表]遵循下面的步骤来将用户从站点集上永久删除, 用户的alert也会被永久删除.
On the site collection home page, click the Site Actions menu, point to Site Settings, and then click People and Groups.
- On the People and Groups page, in the Quick Launch, click All People.
- On the People and Groups: All People page, select the check box next to the user who you want to delete.
- On the Actions menu, click Delete Users from Site Collection, and then click OK.
用户被永久删除之后, 如果再从AD里把这个用户删掉, 那么People Picker也搜不出来了这个人了. 呵呵. [End]
我目前理解User Information List为站点里面所有用户(也可能不是哈!) ,之前我用web.AllUsers来获取所有用户,后来发现它比User Information List少!
结合U2U CAML Query Builder工具来看User Information List的字段和值!
从上图我们可以看出 User Information List 列表和其他有点不一样,他前面怎么没有图标哦! 通过 ContentType 可以来过滤不是Person 的数据!
注意使用SPSecurity.RunWithElevatedPrivileges提升为管理员权限,不然其他没有权限用户运行该代码将抛出错误!
SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite("http://moss:9000/")) using (SPWeb web = site.RootWeb) { SPUserCollection users1 = web.AllUsers; SPUserCollection users2 = web.SiteUsers; SPUserCollection users3 = web.Users; SPList list = web.SiteUserInfoList; // web.Lists["User Information List"]; foreach (SPListItem item in list.Items) { if (!item["ContentType"].ToString().Equals("Person")) continue; string name = item["Title"] + ""; string loginName = item["Name"] + ""; string Email = item["Email"] + ""; string picture = item["Picture"] + ""; //... 其他属性 } } });
可以和 users1 , users2, users3 比较一下谁取出的用户最多!