Биты и байты.

Биты и байты.
Показаны сообщения с ярлыком SharePoint. Показать все сообщения
Показаны сообщения с ярлыком SharePoint. Показать все сообщения

четверг, 20 апреля 2017 г.

Несколько доменов в Sharepoint. Лес, трасты и тд.

Когда пользователи SharePoint находятся в нескольких доменах добавить пользователей из домена с трастовыми отношениями не проблема.


В данной ситуации выручит команда
stsadm -o setproperty -pn peoplepicker-searchadforests
Детальное описание тут

Достаточно выполнить 3 простых шага.
1. Зайти на любой сервер фермы SharePoint, открыть командную консоль SharePoint
2. Получить URL  нужного веб приложения командой

Get-SPWebApplication

3. Запустить эту команду для вашего приложения с полученным URL выше

Для полного траста 

stsadm -o setproperty -pn peoplepicker-searchadforests -pv "forest:MY-DOMAIN.local;forest:TRUSTED-DOMAIN.local;domain:MY-DOMAIN.local;domain:TRUSTED-DOMAIN.local" -url http://my-sp2013-site.com.au/

Для одного домена 

STSADM.exe -o setproperty -propertyname peoplepicker-searchadforests -propertyvalue "domain:test.com;forest:uganda.com,uganda\user,123456" -url  http://sharepoint.com

Также можно проверить свойство командой

STSADM.exe -o getproperty -propertyname peoplepicker-searchadforests -url http://sharepoint.com

Теперь у вас есть возможность добавлять в разрешения сайта , библиотек  пользователей из другого домена.

четверг, 8 сентября 2016 г.

Полезные скрипты для Sharepoint на Powershell

Для тех кто хочет почувствовать настоящим админом, в  SharePoint есть интеграция с Powershell.  
Всегда полезно иметь под рукой набор скриптов, которые решил собрать в одном месте..

Для изучения команд SharePoint  на первом этапе будем пользоваться  средой  PowerShell ISE,  нереально полезная оболочка для начинающих!!
Эта среда позволяет в наглядном виде получать описания команд ,а также при необходимости сохранять целые сценарии.
Запускаем  PowerShell ISE и добавляем  командлет SharePoint в консоли.

Add-PSSnapin Microsoft.Sharepoint.Powershell

Можно также встретить в скриптах более продвинутый вариант

If ((Get-PSSnapIn -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null
{ Add-PSSnapIn -Name Microsoft.SharePoint.PowerShell




Веб приложения и список сайтов

$webApp = Get-SPWebapplication 'http://london'

foreach($spSite in $webApp.Sites)
{
if ($spSite.HostHeaderIsSiteName)
{ Write-Host $spSite.Url 'is host-named' }
else
{ Write-Host $spSite.Url 'is path based' }
}


Результат


Коллекции сайтов могут быть 2х типов, сайт на основе пути (http://london/sites/demosite  по пути веб приложения создаются под сайты), и сайт на основе имени узла ( http://portal.contoso.com любое красивое имя для сайта )
Подробно на сайте Майкрософт
Сайты на основе имени узла создаются  только через Powershell, пример создания


New-SPSite 'http://portal.contoso.com' -HostHeaderWebApplication (Get-SPWebApplication 'http://london') -Name 'Portal' -Description 'Portal site' -OwnerAlias 'contoso\administrator' -language 1033 -Template 'STS#0'

New-SPSite 'http://bi.contoso.com' -HostHeaderWebApplication (Get-SPWebApplication 'http://london') -Name 'BI' -Description 'BI site' -OwnerAlias 'contoso\administrator' -language 1033 -Template 'BICenterSite#0'

Доступные шаблоны можно посмотреть командой

Get-SPWebTemplate

Небольшое видео  по настройке сайтов на основе имени

четверг, 11 августа 2016 г.

Полезные ссылки SharePoint

Чтобы не лазить по всему меню Шарика в поиске очередной настройки
было решено собрать  все в одном месте.

URL для коллекции сайтов

Версия Sharepoint
http://sp/_vti_pvt/service.cnf

Контент и структура сайта


Столбцы SharePoint

Управление банком терминов

Узнать версию

Мастер страницы сайта

Типы контента

Веб части

Список пользователей

Корзина коллекции сайтов

Журнал рабочих процессов

Возможности коллекции сайтов 

Параметры шаблонов сайтов и макетов страниц

Регистрация нового приложения app

Иерархия сайтов

вторник, 17 мая 2016 г.

Экпресс доступ к данным в Sharepoint

Как быстро получить данные из списка SharePoint не пользуясь веб сервисами.
Самый быстрый способ получить их это конечно  нажать кнопку Экспорт в Excel и Бинго.

Посмотрим что скрывается за этой выгрузкой. Откроем файл подключения


В нем можно найти все реквизиты и параметры

http://сайт/_vti_bin/owssvr.dll?XMLDATA=1&List={2187857A-977C-43F6-BF4A-0D10A8410A41}&View={3BD82CF2-EA85-4CD3-81B8-17150794A091}&RowLimit=0&RootFolder=%2fLists%2fList7
Selection={2187857A-977C-43F6-BF4A-0D10A8410A41}-{3BD82CF2-EA85-4CD3-81B8-17150794A091}
EditWebPage=
Formatting=None
PreFormattedTextToColumns=True
ConsecutiveDelimitersAsOne=True
SingleBlockTextImport=False
DisableDateRecognition=False
DisableRedirections=False
SharePointApplication=http://сайт/_vti_bin
SharePointListView={3BD82CF2-EA85-4CD3-81B8-17150794A091}
SharePointListName={2187857A-977C-43F6-BF4A-0D10A8410A41}
RootFolder=/Lists/List7

Как видим используется вызов RPC,
Немного информации  SharePoint Foundation RPC Protocol 


{0} – ссылка на сайт.  Корневой или любой подсайт.
{1} –GUID списка

Также можно использовать представления для выгрузки данных


таким образом наша ссылка в усеченном варианте  будет иметь вид


Результат можно непосредственно проверить в браузере
Ну а дальше XML можно использовать в скрипте на свое усмотрение.

пятница, 6 мая 2016 г.

Как быстро установить патч на SharePoint

Как быстро установить патч на SharePoint или почему обновление может устанавливаться 5 часов.  
Подробности тут.
Если вкратце необходимо отключить службы  SPTimerV4, IISAdmin, OSearch15, SPSearchHostController перед установкой патча и включить после установки.
1. Отключаем службы  IISAdmin и SPTimerV4
2. Выключаем службы IIS Admin и Timer Services если они запущены                                                                                                           
3. Если необходимо делаем паузу в службе поиска , см детали в cкрипте
4. Останавливаем  службы поиска Search Services, см детали в скрипте
5. Устанавливаем патч в пассивном режиме
Примечание:  Power Shell должен оставаться открытым в фоне пока выполняется патч
6. После выполнения патча, Power Shell скрипт, восстанавливает запуск служб в  на шаге 1 в автоматический
7. Запускаем службы IIS Admin и Timer
8. Запускаем службы поиска Search Services                                                                                                                                                                                      
9. Возобновляем службы поиска если остановили Search Service Application
10. В конце скрипт отображает время начала и завершения патча  и затраченное время

После установки патча  запускаем вручную Sharepoint configuration wizard или

1.) заходим в папку "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\BIN"
2.) И запускаем конфигурирование PSConfig.exe -cmd upgrade -inplace b2b -force -cmd applicationcontent -install -cmd installfeatures

Как узнать версию Sharepoint

Как узнать версии  продуктов SharePoint достаточно запустить скрипт  get_sp_ver.ps1

Param(
  # decide on whether all the sub-components belonging to the product should be shown as well
  [switch]$ShowComponents
)

# location in registry to get info about installed software

$RegLoc = Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall

# Get SharePoint Products and language packs

write-host "Products and Language Packs"
write-host "-------------------------------------------"

$Programs = $RegLoc |
       where-object { $_.PsPath -like "*\Office*" } |
       foreach {Get-ItemProperty $_.PsPath}
$Components = $RegLoc |
       where-object { $_.PsPath -like "*1000-0000000FF1CE}" } |
       foreach {Get-ItemProperty $_.PsPath}

# output either just the info about Products and Language Packs
# or also for sub components

if ($ShowComponents.IsPresent)
{
       $Programs | foreach {
             $_ | fl  DisplayName, DisplayVersion;

             $productCodes = $_.ProductCodes;
             $Comp = @() + ($Components |
                    where-object { $_.PSChildName -in $productCodes } |
                    foreach {Get-ItemProperty $_.PsPath});
             $Comp | Sort-Object DisplayName | ft DisplayName, DisplayVersion -Autosize
       }
}
else
{
       $Programs | fl DisplayName, DisplayVersion
}


Результат

понедельник, 11 апреля 2016 г.

Профилактические работы. Заглушка для сайта.

Хорошим тоном  при переводе сайта в офлайн, т.е.  когда он просто перестает работать является установка страниц заглушек.
На английском языке они называются Coming Soon page , under Construction Page, но  суть их везде одинаковая:
дать пользователю информацию, что это не у него там что-то сломалось, а система действительно не работает и будет  запущена к такому то времени.


Есть несколько вариантов использования таких заглушек.
Вариант 1. С возможностью тестирования.
По текущим портам приложения 80 и 443, ставим заглушки, приложение привязываем  к новому порту например 555 для http  и  556 https.
Пока  пользователи по обычному адресу получают страницу заглушку, мы можем спокойно  обновлять приложение и заниматься его тестированием, по адресу http://сервер:555
Для SharePoint также необходимо настроить сопоставления альтернативного доступа в шарике  через админку , чтобы приложение открывалось по новому порту.

Заглушка состоит из нескольких файлов


web.config  , настраиваем редирект когда файл не найден . ошибка 404

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpRedirect enabled="false" destination="" exactDestination="true" childOnly="false" httpResponseStatus="Permanent" />
        <defaultDocument>
            <files>
                <clear />
                <add value="index.html" />
                <add value="Default.htm" />
                <add value="Default.asp" />
                <add value="index.htm" />
                <add value="iisstart.htm" />
                <add value="default.aspx" />
            </files>
        </defaultDocument>
        <httpErrors errorMode="Custom">
            <remove statusCode="404" subStatusCode="-1" />
            <error statusCode="404" path="index.html" responseMode="File" />
        </httpErrors>
    </system.webServer>
    <system.web>
        <authentication mode="Windows" />
        <customErrors defaultRedirect="http://сервер/index.html" mode="On">
            <error redirect="http://сервер/index.html" statusCode="404" />
        </customErrors>
    </system.web>
</configuration>

Сама страница заглушки

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Профилактические работы</title>
       
        <!-- Our CSS stylesheet file -->
        <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300" />
        <link rel="stylesheet" href="underconstructionfilesctc/css/styles.css" />
        <link rel="stylesheet" href="underconstructionfilesctc/countdown/jquery.countdown.css" />
       
        <!--[if lt IE 9]>
          <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
    </head>
   
    <body>
             <img src="underconstructionfilesctc/img/maint.jpg" alt=""  style="display:block;margin:auto;"/>
             </br>
             <div id="countdown"></div>

             <p id="note"></p>

        <footer>
               <h2><i>Статус:</i> Профилактические работы</h2>
                <a class="tzine" href="mailto:admin@mail.ru">По срочным вопросам <i> обращаться <b> к администраторам</b></i> </a>
        </footer>
       
        <!-- JavaScript includes -->
             <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
             <script src="underconstructionfilesctc/countdown/jquery.countdown.js"></script>
             <script src="underconstructionfilesctc/js/script.js"></script>

    </body>
</html>

Результат выглядит таким образом

About