I have wrote a C# code which will update two custom attributes of User Profile(for all users). Values for those two resides in different database(not in active directory).

We need to run that c# code daily(every night). So which method is the best way to go. - Windows service or - Web service or - WCF or any other way.

Just want to know what is the best practice for updating user profile (automatically from other database) on daily basis.

Note: Our sharepoint architecture is a multi-tier and both Application and content database are in different servers.

Suggestion please. Appreciate your help.

1 Answer 1


If it's in a database why not use the BCS to create an External Content Type? Then create a secondary import connection in the User Profile Service and have the properties updated when the Synchronization Timer Job runs?

If not then you could just run it as a Windows scheduled job. Heck, you could even ditch the C# for PowerShell.


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.