применение главной страницы фонда sharepoint ко всем сайтам с использованием powershell - PullRequest
1 голос
/ 04 апреля 2011

Я пытаюсь применить пользовательскую мастер-страницу ко всем сайтам в среде sharepoint.http://sharepoint/site1/1

http://sharepoint/site2/1

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

$web = Get-SPWeb http://sharepoint 
$web.CustomMasterUrl = "/_catalogs/masterpage/custom_v4.master" 
$web.Update()

Может ли кто-нибудь любезно помочь с циклом для всех сайтов, пожалуйста.

Ответы [ 3 ]

0 голосов
/ 04 апреля 2011

Попробуйте, если хотите применить мастер ко всему семейству сайтов:

foreach ($site in get-spsite -url http://sharepoint*) {

     $web = Get-SPWeb $site
     $web.CustomMasterUrl = "/_catalogs/masterpage/custom_v4.master" 
     $web.Update()

}

Более подробную информацию о get-spsite вы можете прочитать в этом посте на sharepoint Automation . Надежда помогает!

0 голосов
/ 26 мая 2012

Я бы не стал полагаться на простое позиционирование сайтов по URL.я думаю, что вы хотите, это:

$site = Get-SPSite "http://localhost"
$site.AllWebs | foreach-object { `
               $_.CustomMasterUrl = "/_catalogs/masterpage/custompagename.master";    
               $web.Update()
}

Свойство AllWebs возвращает все сайты в семействе сайтов.Если вы используете вариации, вы можете исключить их из списка, который некоторые каким-либо образом используют?

0 голосов
/ 04 апреля 2011

Вам нужно передать массив URL к Foreach-Object:

'http://sharepoint/',
'http://sharepoint/site1',
'http://sharepoint/site1/1',
'http://sharepoint/site2/1' | Foreach-Object {
  $web = Get-SPWeb $_
  $web.CustomMasterUrl = "/_catalogs/masterpage/custom_v4.master" 
  $web.Update()
}

или сделай это в императивном стиле:

$urls = 'http://sharepoint/', 'http://sharepoint/site1', 'http://sharepoint/site1/1', 'http://sharepoint/site2/1'

foreach($url in $urls) {
  $web = Get-SPWeb $url
  $web.CustomMasterUrl = "/_catalogs/masterpage/custom_v4.master" 
  $web.Update()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...