SecondBrain/Ralf @ Ralf Koop/Powershell/00_Migration der Newspage onprem to Online.md
Ralf Koop e138992abe .
2022-12-21 12:30:21 +01:00

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