воскресенье, 28 июня 2015 г.

Ошибка поиска по дате или как менять языковые параметры.

После установки весенних обновлений веб-часть отображений дней рождения (о которой написал статьи) стала выдавать ошибку.


Замечено, что проблема бывает только в Internet Explorer.
После более глубокого изучения стало понятно, что дело в языковых параметрах.
Путь первый:
Если в расладке клавиатуры по умолчанию использовать En, то в Internet Explorer вываливается ошибка и язык интерфейса SharePoint становится En. (экспериментировал с Win 8.1)

Если поменять раскладку по умолчанию, то все нормально.
Согласитесь, ведь не всем удобно использовать в раскладке по умолчанию русский язык.
Путь второй:
Поменять в свойствах пользователя языки, точнее добавить «Русский язык»

В этом случае не учитывается параметры раскладки локальной машины и сайт отображается на русском и с веб-частью проблем не заметил.
Но как сделать это у всех?

На помощь может прейти знакомый PowerShell

$mySiteUrl = "http://my.sites.com" 

#Connect to User Profile Manager service 
$site = Get-SPSite $mySiteUrl 
$context = Get-SPServiceContext $site 
$profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context) 

for($i=1; $i -le $profileManager.Count; $i++ )
{

    $user = $profileManager.GetUserProfile($i)
    write-host $user.AccountName - $user['SPS-MUILanguages']
    $user['SPS-MUILanguages'].Value = "ru-RU"
    $user.Commit()
}