Биты и байты.

Биты и байты.

вторник, 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
}


Результат

About