I need suggestions how to accomplish one upgrade task. I have list of user accounts in .csv file which I need to import to SP2010 and create user accounts with appropriate attributes. Also this accounts upon creation should be mapped to related My Site subsites. I configured support for "My Site" in my web application, but I'm not sure what is the best approach to import (create) accounts..

Shoud I use powershell and create script which can do that (if yes, which commandlet). Or I should use some other approach (maybe web part)?

Please, any suggestion will be appreciated!

3 Answers 3


The answer would depend on what authentication model you would prefer using. as Cris said, your profile store is populated by AD or similar, so if you plan on using AD for authentication (classic or claims) you could store your data in three places:

  • You could import them to AD using PowerShell (set-aduser is available from 2008 r2, but similar cmdlets ate available from Quest called set-qaduser, both take .csv as input to pipeline). Example here.
  • You could use AD as primary data connection and then use BCS as secondary data source. You would need a unique item in the external db to identify account (usually samaccountname or similar)
  • You could store them directly in the user profiles, eg not mapping to any AD property but instead insert them programmatically using PowerShell or console app. There are no existing cmdlet for this, and the api is tricky (i have seen UPA's rendered unusable after doing this, so beware)

Public User profiles will automatically be available from my site host.

  • Thank you Anders.. With your explanation (and from Chris) problem is more addressable. I'll continue with research and provide feedback after problem will be solved (hopefully).
    – trip
    Jun 7, 2011 at 14:05

SharePoint doesn't manage its own "Accounts". It authenticates against a configured authentication provider either using Windows Integrated against Active Directory or Forms-Based against an LDAP store, SQL Membership & Roles, ADFS, etc.

If your legacy application used a custom account store, then the closest architecture would be to configure SharePoint for Claims authentication, configure forms-based authentication, and use the SQL Membership and Roles authentication provider. You would need to write an import tool that creates accounts from your custom CSV file and creates accounts in the SQL Membership and Roles database. You could also choose to implement a custom Membership and Roles provider against any data source you choose.

For additional user attributes, you would either need to write custom code to augment the claims token, or configure user profile synch with BCS to map user profile properties to a custom SQL database, etc.

Sorry, but your solution is not going to be as straight-forward you as are implying. Authentication, User Profiles, User Profile Synch and Property Mapping, and MySites are all essentially different moving parts.

To accomplish this would require stitching together a variety of blog posts and MSDN articles depending on the specific architecture you choose.

  • There would be no way to store the profile data, and no way of synchronizing these data back to SharePoint OOB (unless you know something i dont ;-) Jun 6, 2011 at 6:06
  • Sorry, my response is not all that clear. I was suggesting that if your custom database contains authentication accounts, then the migration strategy is claims/form with SQL Membership and Roles. To have custom attributes, you would need to augment claims token. If you just have custom attributes in SQL database, use BCS to augment User Profile. You are right - you can't have both. If you go claims/forms/sql, you can't use BCS to augment user profiles (in fact they will be disabled). UPS only works with Windows principals. Jun 7, 2011 at 0:30

Have you reviewed the available upgrade strategies if you migrate from 2007 SP2? Why not try attaching and upgrading the content databases including that of MySites host?

  • I don't upgrade from previous version of SPoint. This is a old ASP system with custom made profile accounts. All I can get are exported accounts to .csv or maybe .xml file/s.
    – trip
    Jun 2, 2011 at 12:44
  • sorry it wasn't clear from the question. i presumed that you wanted to map the users to the MySites you already had in the legacy system. otherwise mysites don't seem relevant. you only need to pre-create them for certain users, right? Jun 2, 2011 at 12:47
  • Yes. Accounts from .csv should be created in sharepoint in most efficient way. And because "My Site" is configured, accounts probably will be created in "My Site" also.
    – trip
    Jun 2, 2011 at 12:54
  • 1
    Also i would never upgrade my site host. It is rarely customized, so creating a new should be wiout problems, and alot of the internal wiring has changed in SP2010 Jun 6, 2011 at 6:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.