3.6 KiB
Migration der Newspage onprem to Online
Montag, 5. Februar 2018
19:04
#Verbindung zu M365 SC herstellen
#$cred = Get-Credential
Connect-PnPOnline https://inside-int.bauer-de.bauermedia.group/news -CurrentCredentials
$premListName = "Beitraege"
#Get-PnPListItem -List Beitraege
$prembeitraege = Get-PnPListItem -List Beitraege |?{$_.FieldValues["Created"] -gt "12/31/2018"}
Connect-PnPOnline https://bauer.sharepoint.com/sites/de-bauer-inside-news-rko -ClientId "e283cb1f-e973-4a28-9fa9-f0f80207d9fc" -ClientSecret "U3sy2W80QY6DaC90MQCcdJmO+ZdkQdKOWShjpQ2VrXw="
#Bibliothek bestimmen
$OnlineListName = "SitePages"
#Felder der Bibliothek einlesen
$Fields = Get-PnPField -List $OnlineListName
$global:FieldsList = ""
foreach($Field in $Fields)
{
$global:FieldsList = $global:FieldsList + $Field.InternalName + ','
}
# Alle Beitraege einlesen
#$beitraege = Get-PnPListItem -List Beitraege -PageSize 500
#Beitragstitel auslesen und speichern ohne Leerzeichen
$Beitragstitelorg = $prembeitraege[7].FieldValues["Title"]
$Beitragstitel = $Beitragstitelorg -replace '\?',''
#Alten Beitragstext speichern
$beitragstext = $prembeitraege[7].FieldValues["Body"] #["Textk_x00f6_rper"]
# Promoted State
#Neue Page anlegen
$newPage = Add-PnPClientSidePage -Name $Beitragstitel -LayoutType Article -Publish
#Alle Pages der Bibliiothek einlesen
#$pages = Get-PnPListItem -List $OnlineListName -PageSize 500
#Eben angelegte Seite raussuchen
#$Items = (Get-PnPListItem -List $OnlineListName -Fields $global:FieldsList).FieldValues
#$news = $Items |?{$_.FileLeafRef -like "$Beitragstitel.aspx"}
#$ListItem = Get-PnPListItem -List $OnlineListName -Query "<View><Query><Where><Eq><FieldRef Name='Title'/><Value Type='Text'>$Beitragstitel</Value></Eq></Where></Query></View>"
$ListItem = Get-PnPListItem -List $OnlineListName -Id $newpage.PageId
#Alten Beitragstext speichern
#Neuer Inhalt der Seite
$temp = '<div><div data-sp-canvascontrol="" data-sp-canvasdataversion="1.0" data-sp-controldata="{"controlType":4,"id":"49f559bf-32b7-49b5-9c7d-4b17a1a3137c","position":{"zoneIndex":1,"sectionIndex":1,"controlIndex":1,"layoutIndex":1},"emphasis":{}}"><div data-sp-rte="">Platzhalter</div><div>data-sp-canvascontrol="" data-sp-canvasdataversion="1.0" data-sp-controldata="{"controlType":0,"pageSettingsSlice":{"isDefaultDescription":true,"isDefaultThumbnail":true}}"></div></div>'
#Neuer Inhalt der Seite ergänzen
$temp = $Temp.Replace("Platzhalter", $beitragstext)
#Neue Seite mit Text und Felder befüllen
Set-PnPListItem -List SitePages -Identity $ListItem -Values @{"CanvasContent1" = $temp ;"Title" = $Beitragstitelorg;"PromotedState" = 2 }
#Set-PnPListItem -List SitePages -Identity $ListItem -Values @{"Title" = $Beitragstitelorg }
#Set-PnPListItem -List SitePages -Identity $ListItem -Values @{"PromotedState" = 2}
#$ListItem = Get-PnPListItem -List $OnlineListName -Id $newpage.PageId
$url = $ListItem.FieldValues.FileRef
$file = Get-PnPFile -Url $url
$File.Publish("")
Disconnect-PnPOnline