試圖以編程方式將AD組添加到SPGroup,但它不起作用。如何以編程方式將AD組添加到SharePoint 2010 SPGroup?
我已經試過:
SPGroup.AddUsers("myADgroup");
和
SPGroupCollection.Add(groupName, currentUser, "myADgroup", groupDescription);
我都與域,沒有嘗試過。
任何想法?
試圖以編程方式將AD組添加到SPGroup,但它不起作用。如何以編程方式將AD組添加到SharePoint 2010 SPGroup?
我已經試過:
SPGroup.AddUsers("myADgroup");
和
SPGroupCollection.Add(groupName, currentUser, "myADgroup", groupDescription);
我都與域,沒有嘗試過。
任何想法?
呃,沒有SPGroup.AddUsers(「myAdGroup」)方法。這種格式甚至沒有AddUser()方法。
你試過:
SPGroup g = web.AssociatedMemberGroup;
SPUser u = web.EnsureUser("DOMAIN\\myADgroup");
g.AddUser(u);
的EnsureUser位可以確保在AD組添加爲的SPWeb的用戶,這樣,那麼你可以分配權限。
嗨,現在沒有方法來添加AD組。
您需要先創建組,然後將用戶添加到該組。
using (SPSite spSite = new SPSite("http://localhost"))
{
using (SPWeb spWeb = spSite.OpenWeb())
{
SPGroupCollection spGrps = spWeb.SiteGroups;
SPUser uGrpOwner = spWeb.CurrentUser;
SPUser uGrpDefMember = spWeb.CurrentUser;
string sGrpName = "GrupeName";
spGrps.Add(sGrpName, uGrpOwner, uGrpDefMember, "Decription");
SPGroup spGrp = spGrps[sGrpName];
List<SPUser> spUsersFromAD = YouFunctionGetUserFromAD();
foreach(SPUser spUser in spUsersFromAD){
spGrp.AddUser(spUser);
}
spWeb.Update();
}
}
這是安迪燒傷的回答跟進:
從PowerShell中我最初嘗試以下操作:
$web = Get-SPWeb http://localhost
$web.EnsureUser("domain\test group")
這沒有工作,這是令人費解。
一些更多的試驗,我發現下面沒有工作(超級用戶是一個內置組):
$web.EnsureUser("builtin\power users")
$web.EnsureUser("power users")
$web.EnsureUser("test group")
然後我發現我有名稱不同的值(在PowerShell中別名爲顯示名稱) - 事實證明,我在Active Directory中使用了「組名」和「組名(Windows 2000之前)」中的不同值。
組名自身工作,但與域前綴我需要使用Windows 2000以前的名稱。
有了這個,我能夠得到以下工作:
$web.EnsureUser("domain\pre2000 test group")
所以,如果你仍然有問題,您在AD兩組名之間的一致性。
我也遇到了與AD組一起調用SPWeb.EnsureUser的問題。在我的情況下,出現了一些混淆,因爲有問題的組的顯示名稱與其底層的sAMAccountName不同。使用sAMAccountName而不是顯示名稱調用EnsureUser爲我排序問題。
是的,我試過EnsureUser,它沒有工作。回來後找不到用戶。 – user484483 2010-12-28 23:39:05