адресу
http://msdn.microsoft.com/en-us/library/ee557253(office.14).aspx
Конвейер команд PowerShell
В реальной жизни конвейеры используются для перемещения предметов из одного места в другое. Конвейеры PowerShell работают аналогично: они позволяют легко преобразовывать, изменять или передавать результат одного командлета другому.
Допустим, нам нужно вывести список всех семейств сайтов в ферме SharePoint. Этот список формируется командлетом Get-SPSite,но в больших фермах такой список может содержать сотни и тысячи строк. А если командлет Get-SPSiteиспользовать вместе с командой фильтра (с помощью конвейера), то он возвратит только нужные семейства сайтов:
Get-SPSite I Where {$_.Url -eq "http://portal.conpanyabc.com"}
Символ конвейера “ I ” передает результаты (все семейства сайтов) командлета Get-SPSiteфильтру Where,который указывает, что следующему командлету в конвейере необходимо передать только те семейства сайтов, URL которых равен
http://portal.companyabc.com
В предыдущем примере задействован только один конвейер, но их может быть и несколько:
Get-SPSite I Where {$_.Url -like "*portal*"} I Sort RootWeb I Select RootWeb, Url
Данная команда выводит все семейства сайтов, которые содержат в своем URL-адресе строку “portal”,сортирует их по значениям свойства RootWebи выводит результаты в табличном виде с двумя столбцами RootWebи Url.
На рис. 7.5 показан результат выполнения последней команды в окне SharePoint 2010 Management Shell.
'PS C.4U.*' 4flili_inistrntoi >> Uet-SPSitc I Wbere f$_.U*l -lihe ""port » ootlfeb ! Select V «с11ц >>. Url
lit ip://poi-t«l.coni><4«yd|kc .'-on he l l>://рор!* 1. no rt tiuibri. coo
l-tjl Cv*N|>AftyflBC LPor*c,il tiorthlfinri
Рис. 7.5. Список семейств сайтов со словом portal в URL-adpecax, выведенный PowerShell
Форматирование результатов
Результаты, полученные командлетами PowerShell, обычно выводятся в табличной форме, но их можно дополнительно оформить с помощью команды форматирования. Обычно это команды Format-List, Format-Tableи Format-Wide.
Get-SPSite | Select RootWeb, Url, Owner I Format-Table
Данная команда выводит все семейства сайтов в виде таблицы, в которой отображаются свойства семейств сайтов RootWeb, Urlи Owner.
Кроме форматирования результатов, можно выбрать место выдачи результатов, отличное от стандартного (экран оболочки). Одним из таких полезных мест является GridView:
Get-SPSolution | Select * I Out-GridView
Эта команда выводит все установленные решения SharePoint в формате GridView(рис. 7.6). При отсутствии установленных решений можно объединять командлет Out-GridViewс другими командами — например, с Get-SPSite.
PowerShell — новая STSADM
С выпуском SharePoint 2010 язык PowerShell стал наиболее важным средством автоматизации администрирования SharePoint. Каждая операция администрирования вначале поставляется для PowerShell, а некоторые операции (например, дополнительная настройка во время инсталляции, администрирование нескольких арендаторов и т.д.) доступны только через PowerShell. Встроенные командлеты имеют гораздо больше возможностей, чем пользовательский интерфейс центра администрирования и команды STSADM.
Администраторы все равно могут пользоваться всеми тремя интерфейсами: администратор, которому лишь изредка нужно создать отдельное семейство сайтов, вполне обойдет-
Алминистрирование и автоматизация NtiareFointLT Т
Глава 7
ся центром администрирования, однако в отношении администрирования и автоматизации PowerShell следует рассматривать в первую очередь.
Администрирование SharePoint с помощью PowerShell
В данном разделе будут рассмотрены некоторые характерные ситуации использования PowerShell.
Названия командлетов PowerShell
Как уже было сказано, названия командлетов PowerShell отличаются от названий, при нятыхв интерфейсе центра администрирования SharePoint, и больше похожи на имена из STSADM и API. Вот командлеты, чаще всего используемые в этой главе:
• Get-WebApplication— возвращает все приложения SharePoint.
• Get-SPSite — возвращает все семейства сайтов.
■ Get-SPWeb — возвращает все сайты SharePoint в указанном семействе сайтов.
Выборка сайтов и семейств сайтов с помощью PowerShell
Довольно часто PowerShell используется для выборки сайтов и семейств сайтов. Для получения списка семейств сайтов просто введите в оболочке команду Get-SPSite.
Читать дальше