Столбцы перемещения сайта от одного сайта коллекции в другой?

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/12914

  •  16-10-2019
  •  | 
  •  

Вопрос

Есть ли простой способ переместить все столбцы сайта в конкретной группе (например, «Pepsisitecolumns») в другую коллекцию сайта?

Это было полезно?

Решение

Из коробки нет простого решения. Недавно мне пришлось перенести некоторые столбцы сайта от разработки в производство, и мне пришлось прибегнуть к какому -либо пользовательскому сценарию PowerShell. Также нет простого способа копировать типы контента в другую среду и/или коллекцию.

Короче говоря, это может быть сделано, но вам нужно написать несколько пользовательских PowerShell, чтобы сделать это.

Другие советы

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

У меня было аналогичное требование, в конечном итоге сценарий PowerShell, аналогичный следующему, который должен решить требование первоначального плаката.

Add-PSSnapin Microsoft.SharePoint.PowerShell
$w1 = Get-SPWeb "https://sharepointsite1.com"
$w2 = Get-SPWeb "https://sharepointsite2.com"
foreach ($f1 in $w1.Fields) {
 if ($f1.Group -eq "PepsiSiteColumns") {
  $f2 = $w2.Fields | Where { $_.Id -eq $f1.Id };
  if ($f2 -eq $null) {
   Write-Host("Creating field " + $f1.Title + "...");
   $f2 = $w2.Fields.AddFieldAsXml($f1.SchemaXml);
   $f1.Delete(); # Careful with this one!
  } else {
   Write-Host("Field " + $f1.Title + " already exists. Not taking any action.");
  }
 }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top