Каждая очередная версия SharePoint вносила новые возможности управления через графический пользовательский интерфейс. Последние версии SharePoint — Windows SharePoint Services (WSS) 3.0 и Microsoft Office SharePoint Server (MOSS) 2007 — предоставляют Web-приложение, которое называется Central Administration. Оно позволяет управлять группой Share-Point на различных уровнях — от индивидуальных служб на серверах и Web-приложений до общесистемных служб.
Однако этот интерфейс не позволяет выполнить некоторые операции, например изменение расписания фоновых заданий или настройку индекса поиска. Для выполнения таких операций администраторы SharePoint должны использовать утилиту командной строки stsadm.exe. Рассмотрим, что такое утилита Stsadm, какие функции она поддерживает и как можно воспользоваться ею для автоматизации задач общего управления.
Утилита Stsadm
Утилита Stsadm с самого начала поставлялась с продуктами SharePoint. Она помогает ИТ-специалистам осуществлять операции, выполнение которых невозможно через приложение Central Administration, а также позволяет автоматизировать и группировать операции, которые трудно завершить с помощью Web-интерфейса. Первое действительное предложение SharePoint называлось SharePoint Team Services (STS), и сначала оно вызывалось через утилиту Stsadm.
Каждый выпуск SharePoint существенно увеличивал список операций, которые утилита Stsadm могла выполнять. На сегодня MOSS имеет 183 операции, выполняемые с помощью этой утилиты. Можно еще больше расширить функциональность Stsadm, добавляя к ней другие возможности. Эта прикладная возможность SharePoint очень полезна для независимых разработчиков и позволяет наращивать базовые функции SharePoint. Более подробную информацию о новых возможностях Stsadm в Windows SharePoint Services Software Development Kit (SDK) можно найти, пройдя по ссылке www.microsoft.com/downloads/details.aspx?FamilyID=1c64af62-c2e9–4ca3-a2a0–7d4319980011&displaylang=en.
Утилиту Stsadm можно найти на любом сервере, на котором установлены WSS или MOSS. Она находится в папке \%ProgramFiles%Common FilesMicrosoft Sharedweb server extensions12BIN. Это длинное имя для навигации, поэтому, прежде всего, стоит установить упрощенное приглашение на ввод команды, которая запускается из этой папки. Заметим, что для запуска утилиты Stsadm необходимо быть членом локальной группы Administrator на данном сервере.
Управлять каждой функцией можно, задавая соответствующие параметры. Чтобы понять синтаксис каждой операции, следует открыть командную строку и ввести команду
stsadm –help
Список всех операций можно вывести на экран, используя утилиту Stsadm без параметров. Более подробную информацию об утилите Stsadm Microsoft можно найти на technet2.microsoft.com/Office/f/?en-us/library/5beaaf55-b77c-442 d-88f5-eb9672f82e661033.mspx и technet2.microsoft.com/windowsserver/WSS/en/library/2c5896ac-edf6–4c2db750–995bbb66909c1033.mspx?mfr=true, а также в WSS и MOSS SDK, однако там приведена не полная информация. Нужный результат можно получить методом проб и ошибок. Дополнительную информацию о командах, недоступных через пользовательский интерфейс, можно получить по ссылке technet2.microsoft.com/Office/en-us/library/188f006d-aa66–4784-a65b-a31822aa13f71033.mspx?mfr=true.
Результат для каждой операции будет разным, он может быть важен или бесполезен для автоматизации заданий по общему управлению. Например, операция enumsites перечисляет коллекции сайтов в Web-приложении, создает список результатов в XML, который можно последовательно разобрать, чтобы выполнить многократно задачи управления на всех сайтах. На экране приведены коллекции сайтов, перечисленных из Web-приложения, которые имеют URL moss.spysrus.com/. Свойства внутри каждого узла XML дают дополнительную информацию, например базу данных контента и структуру хранения по каждой коллекции сайтов, что позволяет применить эту информацию для перемещения всех коллекций сайтов из одной базы данных контента в другую.
Пять любимых функций Stsadm
Здесь невозможно рассмотреть все 183 функции утилиты Stsadm, ограничимся только пятью, поскольку они чаще всего используются в большинстве установок SharePoint.
Операция MigrateUser. Когда пользователю предоставлен доступ к коллекции сайтов, некоторая информация о нем записывается в таблицу UserInfo в серверной части базы данных Microsoft SQL Server. Например, SID (Security ID) пользователя, т. е. идентификатор безопасности. Именно параметр SID контролирует доступ к коллекции сайта. Если по какой-то причине SID пользователя был изменен (например, учетная запись AD перемещена в другой домен), пользователь утрачивает доступ к существующим коллекциям сайтов, потому что старый SID находится в этой базе данных. Для решения этой проблемы можно воспользоваться операцией migrateuser. Данная функция считывает параметры старой и новой регистрации и обновляет соответствующие параметры в базе данных.
Операция Createsiteinnewdb. Любая коллекция сайта существует только в одной базе данных контента. Это означает, что весь контент из всех сайтов и элементов сайтов внутри коллекции хранится в одной и той же базе данных. При создании коллекции сайта с помощью графического интерфейса или параметра createsite в утилите Stsadm база данных контента, в которой размещается коллекция, содержит самые актуальные данные с точки зрения числа коллекций сайтов, которые она обслуживает. Операция createsiteinnewdb особенно полезна для тех случаев, когда нужно сопоставить определенный сайт с конкретной базой данных контента — например, несколько сайтов могут иметь соглашения об уровне обслуживания (SLA), относящиеся к ним, и поэтому храниться на отдельных серверах SQL Server.
Операция Backup. Операция резервирования позволяет копировать коллекции отдельного сайта так же, как и целую группу (включая индексы поиска), на диск. Возможность дублирования коллекций сайта полезна для очень важных сайтов, для которых необходимо создавать резервные копии чаще, чем происходит обычное копирование. Можно создать один файл, который содержит все элементы из коллекции сайта, и можно автоматизировать резервное копирование, используя запланированное повторяющееся задание. Можно также применить операцию экспорта для создания резервного файла, который не содержит полного контента коллекции сайта или группы. Например, можно пропускать версии элементов, что приводит к уменьшению размера резервного файла.
Операция Restore. Несомненно, наличие резервной копии коллекции сайта было бы довольно бесполезным, если бы нельзя было восстановить эту коллекцию в случае необходимости. Операция restore может взять файл, созданный с помощью операции backup, и восстановить полную правильную копию коллекции сайта либо перезаписывая существующую коллекцию сайта, либо создавая новую коллекцию сайта. Эта операция полезна для создания копий коллекции сайта для проверки/отладки (например, посредством копирования рабочей коллекции сайта на испытательный или пилотный сайт).
Операция SetProperty. Операция setproperty, вместе с ее аналогом getproperty, применяется для настройки свойств у многих компонентов SharePoint. Например, можно использовать свойство jobusage-analysis для управления частотой просмотра и временем при проведении анализа использования сервера. Аналогично существуют свойства для контроля частоты и временных затрат на отправку уведомлений. Получить список настраиваемых свойств можно, воспользовавшись командой
stsadm –o setproperty
Неполный список документированных свойств приведен по адресу: office.microsoft.com/en-us/winsharepointadmin/HA011608451033.aspx.
Существует много запланированных работ SharePoint, которые можно увидеть, используя вкладку Operations на сайте SharePoint Central Administration. Также можно посмотреть число повторений для каждой работы, но Central Administration не дает никаких методов изменения частоты и времени запуска запланированных заданий. Как указывалось ранее, одна часть заданий контролируется через настраиваемое свойство, а другая управляется функциями. Например, есть функции для управления запуском политик (setpolicyschedule) или для синхронизации профиля (setsearchandprocessschedule). Эти функции берут в качестве параметра строку с интервалом (например, «каждые десять минут в интервале от 0-й до 59-й минуты» или «ежедневно в 13.00»). Поэтому, если нужно ввести задание тотчас же, воспользуйтесь утилитой Stsadm для его запуска. Синтаксис этих строк дан в файле подсказки Help при поиске по setcontentdeploymentjobschedule.
Использование утилиты Stsadm для автоматизации заданий
Поскольку утилита Stsadm является простой утилитой, вводимой из командной строки, можно заключить ее в сценарий или командный файл с параметрами. Можно также воспользоваться планировщиком заданий Windows Task Scheduler для планирования общих заданий, которые выполняются через утилиту Stsadm. Например, можно внести в график заданий регулярное копирование отдельных коллекций сайта, помещая нужные операции резервирования в командный файл, и запускать по графику файл в нужное время.
Можно также расширить вывод от части функций утилиты Stsadm. Простым примером здесь может служить ранее упоминавшаяся операция enumsites вместе с enumsubwebs. Их файлы XML очень удобны для многих Web-компонентов. Поэтому, если есть запланированное задание, которое дает список сайтов с выводом списка в общий файл, этот файл можно использовать в качестве входного для Web-компонента для вывода обновленного списка сайтов на странице Web-компонента.
Обогащение командной строки
Утилита Stsadm — это помощник администратора SharePoint. При наличии задач автоматизации стандартных операций или выполнения более сложных заданий обращайтесь к утилите Stsadm. Если вы еще не пользовались этой программой, советую углубиться в работу с командной строкой и самим убедиться, насколько полезна утилита Stsadm.