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.




Listen und Workflows exportieren und importieren

Dieser Beitrag hat 2 Antworten

Ohne Rang
125 Beiträge
Franke079 erstellt 5 Juli 2013 10:53
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Community

ich habe eine Testmaschine (SharePoint  Foundation 2010) auf der ich verschiedene Sachen ausprobiere unter anderem habe ich mehrere Listen mit Workflows drauf entwickelt / designt. Nun meine Frage, wie bekomme ich die Listen UND Workflows auf den Produktiv Server (SharePoint  Foundation 2010)  ohne alles neu zu bauen ?

Bin relativ neu im SharePointbereich, deshalb diese Frage.

Cu

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 5 Juli 2013 11:22
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dafür gibt es keine einfache Lösung, die wirklich sauber funktioniert. Du kannst die Website als Vorlage speichern, die Vorlage auf dem anderen System hochladen und dann wieder eine Website daraus erstellen. Die Vorlagendatei muß dann aber dort aktiviert bleiben.

Was gut funktioniert ist Backup/Restore, aber das betrifft immer die gesamte Websitesammlung.

Am allerbesten ist es, wenn man alles per Visual Studio in eine Solution verpackt, aber das ist auch der mit Abstand aufwendigste Weg.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
56 Beiträge
Stephan Als Antwort am 10 Juli 2013 09:50
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hab mal ein kleines Powershell script geschrieben mit dem ich listen als auch genaze webseiten exportiere und wieder importiere... also sehr einfach gestrickt aber bei mir funktioniert es (Sharepoint 2013) Soll aber auch für 2010 gehen!

<code>

$ver = $host | select version
if ($ver.Version.Major -gt 1)  {$Host.Runspace.ThreadOptions = "ReuseThread"}
Add-PsSnapin Microsoft.SharePoint.PowerShell
Set-location $home


 Clear-Host;

        Write-Host "=========================";

        Write-Host "=     Listen/Webseite   =";
Write-Host "=     von Stephan Jäger   =";

        Write-Host "=========================";
        Write-Host "Bitte Url eingeben: ";
    $DefaultSite = Read-Host '>'

Clear-Host;
    Write-Host "=========================";
    Write-Host "=     Listen/Webseite   =";
    Write-Host "=========================";
    Write-Host "1. Liste exportieren";
    Write-Host "2. Liste importieren";
    Write-Host "3. Webseite exportieren";
    Write-Host "4. Webseite importieren";
$DefaultAktion = Read-Host '>'

if($DefaultAktion -eq 1)
{
    Clear-Host;
    Write-Host "=========================";
    Write-Host "=        Listen         =";
    Write-Host "=========================";

    $webs = Get-SPWeb $DefaultSite
    $listcount=0
    foreach($web in $webs)
    {
        $lists = @($(Get-SPWeb -Identity $DefaultSite).lists | Select-Object Title, @{Name=”itemURL”;Expression = {$_.RootFolder}}) 
        foreach($list in $lists)
        {
            $listcount +=1  
            [Console]::WriteLine($listcount.ToString() + " : " + $list.Title);
        }
    }

    Write-Host "=========================";
    Write-Host "=   Listen exportieren  =";
    Write-Host "=========================";
    Write-Host "Speicherpfad: ";
    $cmpPfad = Read-Host '>'
    $cmpPfad.Replace("/","\");
    write-host "Liste: ";
    $cmpList = Read-Host '>'
    if($cmpPfad.EndsWith(".cmp"))
    {
        foreach($list in $lists)
        {
            if($cmpList -eq $list.Title)
            {
                $url += "/"
                $url += $list.itemURL
                [Console]::WriteLine("`n" + $list.Title + " wird exportiert...");
                Export-SPWeb -Identity $DefaultSite –Path $cmpPfad -ItemURL $url -FORCE
                write-host $list.Title " wurde exportiert..." -ForegroundColor Green
            }
        }
    }
    else
    {
        foreach($list in $lists)
        {
            if($cmpList -eq $list.Title)
            {
                $url += "/"
                $url += $list.itemURL
                $dateiname = $cmpPfad
                if(!$cmpPfad.EndsWith("\"))
                {
                    $dateiname += "\"
                }
                $dateiname += $list.Title
                $dateiname += ".cmp"
                [Console]::WriteLine("`n" + $list.Title + " wird exportiert...");
                [Console]::WriteLine("Export-SPWeb -Identity "+ $DefaultSite +" –Path "+ $dateiname +" -ItemURL "+ $url +" -FORCE");
                Export-SPWeb -Identity $DefaultSite –Path $dateiname -ItemURL $url -FORCE
                write-host $list.Title " wurde exportiert..." -ForegroundColor Green
            }
        }
    }
}
if($DefaultAktion -eq 2)
{
    Clear-Host;
    Write-Host "=========================";
    Write-Host "=   Listen importieren  =";
    Write-Host "=========================";
    Write-Host "Pfad zu den Importierenden CMP-Dateien: ";
    $cmpPfad = Read-Host '>'
        Write-Host "1. Überschreiben";
        Write-Host "2. Hinzufügen";
        Write-Host "3. Ignorieren";
    $cmpModus = Read-Host '>'

    if($cmpModus -eq 1)
    {
        $cmpMod = "Overwrite";
    }
    if($cmpModus -eq 2)
    {
        $cmpMod = "Append";
    }
    if($cmpModus -eq 3)
    {
        $cmpMod = "Ignore";
    }

    if($cmpPfad.EndsWith(".cmp"))
    {
        [Console]::WriteLine("`n" + $cmpPfad + " wird importiert...");
        Import-SPWeb $DefaultSite -Path $cmpPfad –UpdateVersions $cmpMod;
        [Console]::WriteLine("`n" + $cmpPfad + " wurde importiert...`n");
    }
    else
    {
        $fileEntries = [IO.Directory]::GetFiles($cmpPfad);
        foreach($fileName in $fileEntries)
        {
            if($fileName.EndsWith(".cmp"))
            {
                [Console]::WriteLine("`n" + $fileName + " wird importiert...");
                Import-SPWeb $DefaultSite -Path $fileName –UpdateVersions $cmpMod;
                [Console]::WriteLine("`n" + $fileName + " wurde importiert...`n");
            }
        }
    }  
}
if($DefaultAktion -eq 3)
{
    Clear-Host;
    Write-Host "=========================";
    Write-Host "=  Webseite exportieren =";
    Write-Host "=========================";
    Write-Host "Speicherpfad: ";
    $cmpPfad = Read-Host '>'

    if($cmpPfad.EndsWith(".bak"))
    {
        [Console]::WriteLine("`n" + $cmpPfad + " wird importiert...");
        Backup-SPSite $DefaultSite -Path $cmpPfad -FORCE
        [Console]::WriteLine("`n" + $cmpPfad + " wurde importiert...`n");
    }
    else
    {
        [Console]::WriteLine("`n" + $cmpPfad + " wird importiert...");
        Backup-SPSite $DefaultSite -Path $cmpPfad+$DefaultSite -FORCE
        [Console]::WriteLine("`n" + $cmpPfad + " wurde importiert...`n");
    }
}
if($DefaultAktion -eq 4)
{
    Clear-Host;
    Write-Host "=========================";
    Write-Host "=  Webseite importieren =";
    Write-Host "=========================";
    Write-Host "Pfad zu der Importierenden BAK-Datei/Ordner mit mehreren BAK-Dateien: ";
    $cmpPfad = Read-Host '>'

    if($cmpPfad.EndsWith(".bak"))
    {
        [Console]::WriteLine("`n" + $cmpPfad + " wird importiert...");
        Restore-SPSite $DefaultSite -Path $cmpPfad -FORCE
        [Console]::WriteLine("`n" + $cmpPfad + " wurde importiert...`n");
    }
    else
    {
        $fileEntries = [IO.Directory]::GetFiles($cmpPfad);
        foreach($fileName in $fileEntries)
        {
            if($fileName.EndsWith(".bak"))
            {
                [Console]::WriteLine("`n" + $fileName + " wird importiert...");
                Restore-SPSite $DefaultSite -Path $fileName -FORCE
                [Console]::WriteLine("`n" + $fileName + " wurde importiert...`n");
            }
        }
    }
}

$cmpPfad = "";
$cmpList="";
$DefaultSite="";
$DefaultAktion="";
$lists="";
$url="";

 

</code>

Mit freundlichen Grüßen

Stephan Jäger