понедельник, 25 декабря 2017 г.

Сертификация. Сдан экзамен 70-483: Programming in C#

Сегодня сдал экзамен 70-483: Programming in C#. Вот описание на сайте Microsoft.


Оплатил картой 80$, сдавал в Софт Лайне. У них всегда большой выбор окон и дней для сдачи.
Для подготовки рекомендую:



Книгу от Microsoft можно купить здесь со скидкой в 30% если вы уже MCP.

Результаты надеялся получить получше, как всегда часть вопросов не относилась к моей практике.
Сам экзамен по C# мне не нужен был сертификации (для Web Developer 4), потом я шел по пути обновления. Сдав 
экзамен 70-492:Upgrade your MCPD: Web Developer 4 to MCSD: Web Applications — оставался всего один до MCPD: App Builder. Но Microsoft сменили пути сертификации и теперь всё сдавать снова. У меня был выбор, сдавать по html,css и пр. или по C#, я выбрал последнее.
Кстати, вот самый последний документ с описанием путей сертификации.

воскресенье, 6 августа 2017 г.

SharePoint 2016. Обновление подписок на сайты после обновления.

После апгрейда платформы с 2013 на 2016 версию в подписках на сайты остались ссылки на старый хост с именем portal-web-srv, у нового portal16. Это несмотря на то, что в DNS был создан псевдоним portal.

Вот как это выглядит:


Как видно, отображается ссылка на старый хост, а при переходе будет сообщение об ошибке.
В SharePoint подписки на отслеживаемый контент находится в списке Social (Социальные):


Этот список создается в каждой коллекции личных сайтов, по одному на пользователя.
Чтобы исправить ситуацию — надо изменить поле url для элементов этого списка, для этого воспользуемся powershell скриптом ниже. Он пробежится по всем коллекциям и найдет необходимый список, потом обновит все его элементы:

Add-PSSnapin Microsoft.SharePoint.Powershell

$rootAppUrl = "http://portal16"
$old = "portal-web-srv"
$new = "portal16"

$WebApp =  Get-SPWebApplication -Identity $rootAppUrl

foreach ($site in $WebApp.Sites)
{
    $web = $site.RootWeb

    $list = $web.Lists["Социальные"]

    foreach ($item in $list.Items)
    {
        $sPattern = '*' + $old + '*'
        $url = $item["Url"]
        if ($url -like $sPattern) 
        {  
            $nUrl = $url -replace $old, $new
            $item["Url"] = $nUrl
            $item.Update()
        
        }
    }
    $web.Dispose()
 }


После отработки имеем следующий результат: