SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Wiki per Skript aus Tabelle erstellen

Unbeantwortet Dieser Beitrag hat 1 Antworten

Ohne Rang
4 Beiträge
Henchen2410 erstellt 27 Mai 2014 10:08
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich melde mich nochmal zu einem altbekannten Thema.

Ich habe von einem alten Sharepoint eine Excel-Tabelle exportiert und diese nun im neuen Sharepoint (Foundation 2013) importiert.

Nun soll aus dieser Tabelle ein Wiki erstellt werden. Es sind um die 650 Zeilen, hiervon soll aus Spalte 1 jeweils der Name der Wiki-Seite und aus Spalte 5 der Inhalt der Wiki-Seite generiert werden.

Nun wüsste ich gerne, wie ich das skriptgesteuert anstelle?

So lese ich wohl die Spalten aus:

[quote]
$spSourceWeb = Get-SPWeb http://<Serveradresse>
$spSourceList = $spSourceWeb.Lists["<Tabellenname>"]
$spSourceItems = $spSourceList.GetItems()
[/quote]

Das funktioniert auch.

Zum Erstellen der Wiki-Seiten habe ich folgendes Skript gefunden (für SP 2010 und älter):

[quote]
function global:PSUsing {

    param (

        [System.IDisposable] $inputObject = $(throw "The parameter -inputObject is required."),

        [ScriptBlock] $scriptBlock = $(throw "The parameter -scriptBlock is required.")

    )

 

    Try {

        &$scriptBlock

    } Finally {

        if ($inputObject -ne $null) {

            if ($inputObject.psbase -eq $null) {

                $inputObject.Dispose()

            } else {

                $inputObject.psbase.Dispose()

            }

        }

    }

}

 

PSUsing (SPSite site = new SPSite("http://s0000622"))

{

  SPWeb rootWeb = "http://<Link zu Wiki>";

  SPList wiki = rootWeb.Lists["<Wikiname>"];

  SPFolder rootFolder = wiki.RootFolder;

  SPFile wikiPage = rootFolder.Files.Add(String.Format("{0}/{1}", rootFolder, "My Wiki Page.aspx"), SPTemplateFileType.WikiPage);

  SPListItem wikiItem = wikiPage.Item;

  wikiItem[SPBuiltInFieldId.WikiField] = "My Wiki Page with [[wiki link]]";

[/quote] 

Das scheint jedoch unter SP2013 nicht mehr zu funktionieren. Gibts da eine neuere Lösung, die oben ausgelesenen Spaltenwerte in ein neues Wiki zu schreiben?

Ich muss dazu sagen, dass ich von Windows und PowerShell keine bis wenig Ahnung habe, und auch in Sharepoint relativ unerfahren bin. Um PowerShell wäre ich auch super gerne drum rum gekommen, wenn es anders geht!

 

Viele Grüße

henchen2410

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 27 Mai 2014 10:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das Prinzip ist in 2013 dasselbe, d.h. die relevanten Zeilen

$wikiPage = $rootFolder.Files.Add(...)
$wikiItem = $wikiPage.Item
$wikiItem["PageContent"] = "Mein Seiteninhalt"
$wikiItem.Update()

funktionieren immer noch.

Allerdings funktioniert dieser Code nur mit einem Standardwiki, nicht mit dem Enterprise-Wiki. Da ist es deutlich komplizierter.

Viele Grüße
Andi
af @ evocom de
Blog