SharePoint User Group

Маленькая такая “новость” 🙂 22 января я прочитаю доклад о PowerShell в московской юзергруппе SharePoint. Там будет краткое знакомство с PowerShell для разработчиков, покажу несколько примеров работы из PowerShell с SharePoint, ну и конечно можно будет попытать меня вопросами 🙂

Читать далее…

Опубликовано в News, SharePoint. Метки: , . 2 комментария »

Синхронизируем алерты между Operations Manager и списком SharePoint

Мне не очень нравится когда для работы в различных системах приходится держать запущенными множество разных приложений. К сожалению с этим редко можно что то сделать, но уж если можно… почему бы не попробовать? 🙂 И я попробовал сделать синхронизацию активных алертов между Operations Manager и списком SharePoint, чтобы можно было открывать консоль Operations Manager только при необходимости 🙂 Честно говоря я думал что это займёт у меня достаточно много времени, но к моему удивлению я уложился всего за один вечер. За это надо благодарить родную поддержку PowerShell в OpsMgr, достаточно простую объектную модель SharePoint, и скринкаст Александра Романова на TechDays.ru в котором он показал как с этой объектной моделью работать 🙂

OpsMgr2SP

OpsMgr2SP1 

В результате у меня получилось 2 скрипта:

  • CreateList.ps1 – для автоматизации создания списка с нужными полями в SharePoint
  • Sync-OpsMgr2SP.ps1 – скрипт непосредственно выполняющий синхронизацию.

Оба скрипта можно скачать в этом архиве.

Вместо того чтобы описывать процесс установки, я записал его в скринкаст (9Mb, WMV), надеюсь там ничего сложного 🙂 Ну и в нём же небольшая демонстрация работы 🙂

Еще несколько моментов на которые стоит обратить внимание:

  • Запускать скрипт надо на сервере с SharePoint’ом, не уверен что будет работать удалённо.
  • На том же сервере должна быть установлена консоль OpsMgr + Command Shell. Из неё надо один раз подключиться к серверу OpsMgr, чтобы он прописался в реестре.
  • Разумеется надо разрешить выполнение неподписанных сценариев: Set-ExecutionPolicy "RemoteSigned"
  • Не мешает проверить настройки начале скрипта Sync-OpsMgr2SP.ps1 и удостовериться что они соответствуют вашим условиям.
    • TimeSkew – смещение времени SharePoint относительно OpsMgr. У меня время в OpsMgr отставало на 4 часа (Видимо время там хранится по GMT 0), соответственно эта переменная равна 4.
    • ListURL – адрес списка SharePoint. Можно посмотреть в свойствах списка.
    • AlertURL – адрес для просмотра алертов в Web Console OpsMgr. В конце приписывается ID алерта, и добавляется в столбец Link в списке SharePoint.
    • States – Здесь указывается соответствие цифровых кодов состояний в OpsMgr и их названий. Если у вас добавлены новые состояния (кроме New и Resolved) вы можете дописать их сюда. Ну и в списке SharePoint нужно будет добавить такие же значения для поля Resolution.
  • Для выполнения постоянной синхронизации, лучше не перезапускать сценарий через какие то промежутки времени, а вызвать его например при старте системы (это можно сделать через планировщик задач) с ключом –Continuous, тогда он будет крутиться постоянно, через промежутки времени указанные в параметре -Interval (по умолчанию 10 секунд). Это гораздо эффективнее с точки зрения производительности. Если указан ключ –Force то синхронизация будет работать только в одну сторону – из OpsMgr в SharePoint.

Код по-моему получился достаточно несложным, так что при желании можно прикрутить синхронизацию и других свойств. Например может быть полезным синхронизировать Custom Properties.

Я пока тестировал эту штуку только в лабораторных условиях, так что буду благодарен если кто то попробует её в деле, и расскажет о своих успехах, или моих ошибках 😉

Опубликовано в Operations Manager, SharePoint. Метки: , , . Комментарии к записи Синхронизируем алерты между Operations Manager и списком SharePoint отключены

Get-SharePointListContent

Sorry за длительный перерыв в постах, занят делами о которых пока не могу рассказывать… 😦

Но тем-не менее продолжаю потихоньку публиковать функции для работы с SharePoint. На этот раз одна из самых интересных: Get-SharePointListContent. С её помощью как раз и можно получить содержимое списка SP в виде объектов со свойствами соответствующими полям списка.

Читать далее…

Опубликовано в Learn, PowerShell, Practice, Scripting, SharePoint. 1 Comment »

Get-SharePointList

Итак, в предыдущем посте я показал простой пример работы с SharePoint — функцию Get-SharePointSite. Сегодня я продолжу начатое, и опишу Get-SharePointList. Эта функция будет в качестве параметров брать url корневого сайта, имя подсайта, и возвращать списки с этого узла.

Function Get-SharePointList ($RootSiteURL, $WebName="")
{
	$SpSite = New-Object Microsoft.SharePoint.SpSite($RootSiteURL)
	$SpSite.AllWebs[$WebName].lists | Select-Object Title, ItemCount, RootFolder, Description
}

 

Читать далее…

PowerShell + SharePoint

Пока PowerShell провайдер для SharePoint находится в разработке (и давно 😦 ) очень хочется дорваться до автоматизации этого портала своими силами. К счастью в PowerShell это относительно несложно. Хотя SharePoint не предоставляет скриптового интерфейса, зато обладает достаточно мощным .Net API. Угу, а для PowerShell’а .Net вообще является родной средой 🙂

Читать далее…