Sharepoint 2010 错误:";错误:用户不存在或不唯一;在广告中添加用户时

Sharepoint 2010 错误:";错误:用户不存在或不唯一;在广告中添加用户时,sharepoint-2010,Sharepoint 2010,我想在ActiveDirectory中添加用户 我使用这个代码 private SPUser CreateUser(string strLoginName, string strEMail, string strName, string strNotes, string strSiteURL) { SPUser spReturn = null; SPSite spSite = null; SPWeb spWeb = null; try { //Open the SharePoint sit

我想在ActiveDirectory中添加用户

我使用这个代码

private SPUser CreateUser(string strLoginName, string strEMail, 
 string strName, string strNotes, string strSiteURL)
{
SPUser spReturn = null;
SPSite spSite = null;
SPWeb spWeb = null;

try
{
//Open the SharePoint site
spSite     = new SPSite(strSiteURL);
spWeb     = spSite.OpenWeb();

//Assign role and add user to site
SPRoleAssignment spRoleAssignment = 
    new SPRoleAssignment(strLoginName, strEMail, strName, strNotes);
//Using Contribute, might need high access
SPRoleDefinition spSPRoleDefinition = 
    spWeb.RoleDefinitions["Contribute"]; 

spRoleAssignment.RoleDefinitionBindings.Add(spSPRoleDefinition);
spWeb.RoleAssignments.Add(spRoleAssignment);

//Update site
spWeb.Update();
spReturn = spWeb.AllUsers[strLoginName];
}
catch(Exception)
{ 
}
finally
{
spWeb.Close();
spSite.Close();
 }

 return spReturn;
  }
spWeb.roleasignments.Add时(spRoleAssignment) 错误:“错误:用户不存在或不唯一”

编辑

以下几点对我很有用:

 SPUser user = spWeb.EnsureUser(strLoginName);
 SPRoleAssignment spRoleAssignment = 
 new SPRoleAssignment(user);

您的代码将只授予现有Active Directory用户“贡献”访问权限

如果确实要创建新的Active Directory用户,请参阅