1

I'm Trying to start User Profile Synchronization Service on a Sharepoint 2013 system but it does not and it reports the following error in ULS:

UserProfileApplication.SynchronizeMIIS: Error updating users with FIM permissions: System.Runtime.Serialization.SerializationException: There was an error deserializing the object . String was not recognized as a valid DateTime. ---> System.FormatException: String was not recognized as a valid DateTime.     
    at System.DateTime.Parse(String s, IFormatProvider provider, DateTimeStyles styles)     
    at Microsoft.ResourceManagement.Utilities.DateTimeSerializer.ReadCoordinatedUniversalTimeStringIntoCoordinatedUniversalDateTime(String input)     
    at Microsoft.ResourceManagement.WebServices.Client.Resource.ResourceSerializer.ProcessElement(XmlDictionaryReader reader, Boolean& readerAdvanced)  
etc...

The message "String was not recognized as a valid DateTime" has pointed me to some solutions, one of which here on Stack Exchange (User Profile Synchronization Service won't start String not recognized as DateTime) but none seem to work for me. It looks like a problem related to the Regional/Locale settings. When I run PowerShell as the Farm managed user and execute Get-Culture and GetSystemLocale, I get the following output:

PS C:\Users\myusername> Get-WinSystemLocale

LCID             Name             DisplayName                                                                                                                            
----             ----             -----------                                                                                                                            
1033             en-US            English (United States)                                                                                                                



PS C:\Users\spsadminp> Get-Culture

LCID             Name             DisplayName                                                                                                                            
----             ----             -----------                                                                                                                            
1040             it-IT            Italian (Italy)   

while if I run them "as administrator" with my usual user I get:

PS C:\Windows\system32> Get-WinSystemLocale

LCID             Name             DisplayName                                                                                                                                   
----             ----             -----------                                                                                                                                   
1033             en-US            English (United States)                                                                                                                       



PS C:\Windows\system32> Get-Culture

LCID             Name             DisplayName                                                                                                                                   
----             ----             -----------                                                                                                                                   
1033             en-US            English (United States)   

Does this error depend on the Region settings? If so, What are the correct settings I should use to get it working? Is the DB involved in the error? (in this case, what errors should I look for?)

Is there something else I could try to get the User Profile Sychronization Service started? Please comment if further detail is needed.

0

In order to successfully provision "User Profile Synchronization Service" on a SharePoint 2010 or a SharePoint 2013 you need specific permission.

  1. FIM Account must have "Logon Locally" policy. Grant this using Local Security Policy on the server is receiving User Profile Synchronization Service provisioning;

  2. SharePoint Timer Service account need to be local Administrator on target server because Provisioning Timer Job need to create Local Security Group and access with write permission to Windows Registry. After provisioning you can remove this user from local Administrators.

Important NOTE: Be sure that Regional Settings of the Domain User that is running SharePoint Timer Service are the same as Language ID of SharePoint Installation.

http://macslui.blogspot.de/2013/02/user-profile-service-provisioning.html

  • Thank you for the answer Waqas. I already meet those requirements. But, just to be sure, can my error (String is not recognized as a valid DateTime) be related to one of those? Maybe I just need to double check... And, by the way, how can I find out the "Language ID" of my Sharepoint installation? I know for sure that both the English and the Italian language pack are installed, but what do I need to check exactly? – Evil Toad Jul 11 '15 at 15:59
0

I finally managed to work around this issue and the actual solution is the first answer to this question, comments included.

I logged on the server as the farm admin managed user, went to the "Region" dialog (just type "Region" in the search box of the start screen and you should get one result) and changed the setting from the previous one (Italian, in my case) to the language that matches the Language ID of the original installer of Sharepoint (English).

The point is that you have to know in which Language the original installer was. I did not know if there is a way to find this information out. I had to ask the client who, luckily, remembered it. Apparently it does not matter how many language packs you have installed.

Once done this, the problem disappeared and the service started.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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