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

Listen und Workflows exportieren und importieren

bewertet von 0 Usern
Beantwortet (ungeprüft) Dieser Beitrag hat 0 Geprüfte Antworten | 2 Antworten | 2 Followers

Top-100-Beitragsschreiber
125 Beiträge
Franke079 erstellt in 5 Jul 2013 10:53

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

Top-10-Beitragsschreiber
19.133 Beiträge

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
Top-500-Beitragsschreiber
56 Beiträge

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

Seite 1 von 1 (3 Elemente) | RSS