0

我们有一个 Sharepoint 2010 应用程序,我们在其中以编程方式在 AD 中创建用户配置文件,然后使用来自 AD 的数据进一步创建 Sharepoint 2010 配置文件。有时我们会收到以下错误:

感谢你的帮助。

错误:System.ComponentModel.Win32Exception:在 Microsoft.Office.Server.Utilities.Win32.AdvApi.LookupAccountName(字符串 lpSystemName,字符串 lpAccountName,IntPtr Sid,Int32& cbSid,StringBuilder ReferencedDomainName,Int32& cchReferencedDomainName 上没有完成帐户名称和安全 ID 之间的映射, SID_NAME_USE&peUse)_

代码:

SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(strSiteUrl))
{
site.AllowUnsafeUpdates = true;
UserProfile user = null;
HttpContext oldContext = HttpContext.Current;
SPServiceContext context = SPServiceContext.GetContext(site);
HttpContext.Current = null;
UserProfileManager currentUserProfileManager = new UserProfileManager(context);
bool userexist = false;
try
{
user = currentUserProfileManager.GetUserProfile(accountName);
userexist = true;
}
catch (Exception ex)
{
userexist = false;

}

 if (currentUserProfileManager != null)
{
if (!userexist)
{
try
{
user = currentUserProfileManager.CreateUserProfile(accountName);
}
catch (Exception ex)
{
throw;
}
}
}
}
}
4

1 回答 1

0

我认为使用共享点工具创建用户是不可能的。您需要首先在 AD 中创建一个帐户,例如: https ://www.codeproject.com/Articles/90142/Everything-in-Active-Directory-via-C-NET-Using

然后才在共享点中设置配置文件的复制

于 2020-09-11T11:41:32.633 回答