speakerst
Goto Top

Sharepoint Kontakte via Powershell backupen u. restoren

Hallo,
ich habe die nette Aufgabe bekommen unsere Sharepoint Kontakte via Powershell zu sichern und ggf. auch wieder herstellen zu können. Ich habe mich noch nie richtig mit Powershell beschäftigt daher die frage ob mir hier jemand helfen kann oder jemand ein Script hat das nur noch angepasst werden muss?!

Gruß

Content-ID: 260768

Url: https://administrator.de/contentid/260768

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

colinardo
colinardo 22.01.2015 aktualisiert um 13:30:06 Uhr
Goto Top
Hallo SpeakerST,
das müsste sich mit folgendem Befehl erledigen lassen:
Export-SPWeb -Identity "http://domain.de/subsite" -ItemUrl "/subsite/lists/Kontaktliste"
-path "c:\kontaktliste.cmp"
Für den Import gibt's entsprechend das CMDLet Import-SPWeb
Cmdlets für Sharepoint Import und Export

Grüße Uwe
SpeakerST
SpeakerST 22.01.2015 um 12:44:10 Uhr
Goto Top
ok das funktioniert jedoch will ich keine Website importieren und exportieren sondern Kontakte. Bisher habe ich sowas jedoch nicht für Kontakte gefunden
colinardo
colinardo 22.01.2015 aktualisiert um 12:48:26 Uhr
Goto Top
Zitat von @SpeakerST:
ok das funktioniert jedoch will ich keine Website importieren und exportieren sondern Kontakte. Bisher habe ich sowas jedoch nicht
für Kontakte gefunden
Aber das macht der Befehl doch. Es Export die entsprechende Liste der Kontake welche man dem Befehl in der ItemURL übergibt.
Die Kontakte befinden sich ja auch nur in einer SharePoint-Liste. Oder redest du hier jetzt von was ganz anderem ? Wenn ja erklär mal genauer ...
SpeakerST
SpeakerST 22.01.2015 um 12:51:48 Uhr
Goto Top
ok du hast recht, habe es auch gerade gesehen. Jedoch funktioniert das gnaze bei mir nicht so richtig

Folgenden Befehl habe ich genommen: Export-SPWeb -Identity "http://localhost" -ItelURL "_layouts/15/start.aspx#/Lists/Kontakte/" -Path c:\temp\sp.txt


Ist daran was flasch?

Fehlermeldung ist das die bereitgestellte URL nicht gültig ist
colinardo
colinardo 22.01.2015 aktualisiert um 13:02:49 Uhr
Goto Top
Zitat von @SpeakerST:

ok du hast recht, habe es auch gerade gesehen. Jedoch funktioniert das gnaze bei mir nicht so richtig

Folgenden Befehl habe ich genommen: Export-SPWeb -Identity "http://localhost" -ItelURL
"_layouts/15/start.aspx#/Lists/Kontakte/" -Path c:\temp\sp.txt
Ist daran was flasch?
Fehlermeldung ist das die bereitgestellte URL nicht gültig ist
Laut der Doku muss es eine gültige URL sein
https://technet.microsoft.com/de-DE/library/ff607895%28v=office.15%29.as ...
Gibt die URL der Webanwendung, die GUID oder das Objekt an, die/das exportiert werden soll.
Der Typ muss eine gültige URL (z. B. "http://Servername") sein.
Da rein zu schauen sollte man eigentlich immer machen wenn solche Fehler auftreten ...
-ItelURL
Und dieser Schreibfehler muss natürlich auch weg face-wink
colinardo
colinardo 22.01.2015 aktualisiert um 13:30:18 Uhr
Goto Top
Ich würde es mal mit
Export-SPWeb -Identity "http://localhost" -ItemURL "/Lists/Kontakte" -Path "c:\temp\sp.cmp"
probieren.
Es sollte immer ein führender Slash in der URL sein. Je nachdem ob eine Subsite angelegt wurde muss eventuell noch der Subsitename davor. Habe hier leider kein Sharepoint zum testen da. Musst du halt mal ein bisschen mit spielen ....

http://sharepoint-community.net/profiles/blogs/how-to-export-import-a-l ...
SpeakerST
SpeakerST 22.01.2015 um 13:12:41 Uhr
Goto Top
das Exporteiren habe ich jetzt hinbekommen war ein dummer Fehler drin. Der Export "klappt" zwar auch jedoch wird die Liste mit den Kontakten nicht überschrieben. was mich dabei wunder ist das ich beim import keine ItemURL angeben muss. Mein Import Befehl siehst jetzt folgendermaßen aus

Import-SPWeb "http://localhost" -Path c:\temp{sp.txt -UpdateVersion Overwrite


Ich bekomme auch keine Fehlermeldung aber es wird auch nicht saktualisiert face-smile
colinardo
colinardo 22.01.2015 aktualisiert um 13:24:43 Uhr
Goto Top
Zitat von @SpeakerST:
Import-SPWeb "http://localhost" -Path c:\temp{sp.txt -UpdateVersion Overwrite
Wundert mich das ... nö. Schau dir mal den Pfad an ....

was mich dabei wunder ist das ich beim import keine ItemURL angeben muss.
Entweder ist der der Liste hinterlegt ...oder du musst stattdessen die Listen-URL angeben ...

Wie gesagt kann es hier gerade nicht testen aber ein bißchen Spieltrieb sollte doch möglich sein oder ?
SpeakerST
SpeakerST 22.01.2015 um 13:24:23 Uhr
Goto Top
Der Pfad stimmt abgesehen von der Klammer aber das war ein Schreibfehler von mir hier.
SpeakerST
SpeakerST 22.01.2015 um 13:25:25 Uhr
Goto Top
Hier mal ein Teil der Log Datei die beim Import angelegt wird

[22.01.2015 13:24:42] Anfangszeit: 22.01.2015 13:24:42.
[22.01.2015 13:24:42] Progress: Importieren wird initialisiert
[22.01.2015 13:24:42] Warning: Der Export enthält nur die letzte Hauptversion einer Datei.
[22.01.2015 13:24:42] Progress: Importieren von Inhalt wird gestartet
[22.01.2015 13:24:42] Progress: Die Objekte werden in der Datenbank deserialisiert.
[22.01.2015 13:24:42] [Folder] [Kontakte] Progress: Importieren
[22.01.2015 13:24:42] [Folder] [Kontakte] Verbose: Quell-URL: Lists/Kontakte
[22.01.2015 13:24:42] [Folder] [Attachments] Progress: Importieren
[22.01.2015 13:24:42] [Folder] [Attachments] Verbose: Quell-URL: Lists/Kontakte/Attachments
[22.01.2015 13:24:42] [Folder] [1082] Progress: Importieren
[22.01.2015 13:24:42] [Folder] [1082] Verbose: Quell-URL: Lists/Kontakte/Attachments/1082
[22.01.2015 13:24:42] [Folder] [Contact] Progress: Importieren
[22.01.2015 13:24:42] [Folder] [Contact] Verbose: Quell-URL: Lists/Kontakte/Contact
[22.01.2015 13:24:42] [File] [AllItems.aspx] Progress: Importieren
[22.01.2015 13:24:42] [File] [AllItems.aspx] Verbose: Quell-URL: Lists/Kontakte/AllItems.aspx
[22.01.2015 13:24:42] [File] [AllItems.aspx] Verbose: Ziel-URL: /Lists/Kontakte/AllItems.aspx
[22.01.2015 13:24:42] [File] [AllItems.aspx] Progress: Webparts werden importiert.
[22.01.2015 13:24:42] [File] [DispForm.aspx] Progress: Importieren
[22.01.2015 13:24:42] [File] [DispForm.aspx] Verbose: Quell-URL: Lists/Kontakte/DispForm.aspx
[22.01.2015 13:24:42] [File] [DispForm.aspx] Verbose: Ziel-URL: /Lists/Kontakte/DispForm.aspx
[22.01.2015 13:24:42] [File] [DispForm.aspx] Progress: Webparts werden importiert.
[22.01.2015 13:24:42] [File] [EditForm.aspx] Progress: Importieren
[22.01.2015 13:24:42] [File] [EditForm.aspx] Verbose: Quell-URL: Lists/Kontakte/EditForm.aspx
[22.01.2015 13:24:42] [File] [EditForm.aspx] Verbose: Ziel-URL: /Lists/Kontakte/EditForm.aspx
[22.01.2015 13:24:42] [File] [EditForm.aspx] Progress: Webparts werden importiert.
[22.01.2015 13:24:42] [File] [NewForm.aspx] Progress: Importieren
[22.01.2015 13:24:42] [File] [NewForm.aspx] Verbose: Quell-URL: Lists/Kontakte/NewForm.aspx
[22.01.2015 13:24:42] [File] [NewForm.aspx] Verbose: Ziel-URL: /Lists/Kontakte/NewForm.aspx
[22.01.2015 13:24:42] [File] [NewForm.aspx] Progress: Webparts werden importiert.
[22.01.2015 13:24:42] [File] [PersonalViews.aspx] Progress: Importieren
[22.01.2015 13:24:42] [File] [PersonalViews.aspx] Verbose: Quell-URL: Lists/Kontakte/PersonalViews.aspx
[22.01.2015 13:24:42] [File] [PersonalViews.aspx] Verbose: Ziel-URL: /Lists/Kontakte/PersonalViews.aspx
[22.01.2015 13:24:42] [List] [Kontakte] Progress: Importieren
colinardo
colinardo 22.01.2015 aktualisiert um 13:36:27 Uhr
Goto Top
Browser natürlich schließen und neu öffnen. Und benutze mal die Dateiendung *.cmp statt *.txt

Sollte problemlos gehen, machen ja alle anderen genauso
http://absolute-sharepoint.com/2013/08/how-to-move-a-list-from-sharepoi ...

Ansonsten gbits auch noch fertige Scripte für den Import/Export
https://sharepointpsscripts.codeplex.com/releases/view/21696
SpeakerST
SpeakerST 22.01.2015 um 13:56:56 Uhr
Goto Top
hmm also bei mir gees nicht, ich werde mal die fertigen Scripte Testen vieleicht habe ich dort mhr Glück
SpeakerST
SpeakerST 22.01.2015 um 15:12:07 Uhr
Goto Top
Ich habe es jetzt hinbekommen soweit so gut. Gibt es eine Möglichkeit dieses als Geplanten Task zu verwenden. Die Befehle sind ja nur für die sharepoint Verwaltungsshell zu gebrauchen für die normale Powershell ja nocht oder sehe ich das Falsch?
colinardo
colinardo 22.01.2015 aktualisiert um 15:26:45 Uhr
Goto Top
Zitat von @SpeakerST:
Gibt es eine Möglichkeit dieses als Geplanten Task zu verwenden. Die Befehle
sind ja nur für die sharepoint Verwaltungsshell zu gebrauchen für die normale Powershell ja nocht oder sehe ich das
Falsch?
Doch das lässt sich in einer normalen Powershell-Session ausführen und mit dem Taskplaner ausführen. Du musst nur vor den Befehlen die Sharepoint CMDLets in deinem Script mit folgender Zeile laden:
Add-PSSnapin Microsoft.SharePoint.Powershell
Was anderes macht die Sharepoint-Verwaltungsshell auch nicht, damit die Sharepoint spezifischen CMDLets geladen werden.
SpeakerST
SpeakerST 22.01.2015 um 15:28:41 Uhr
Goto Top
Ich hangele mich wohl gerade von Prolem zu Problem face-smile

Wenn ich diese Zeile einfach so davor setzte funktioniert es leider nicht.
SpeakerST
SpeakerST 22.01.2015 um 15:34:59 Uhr
Goto Top
Auf die lokale Farm kann nicht zugegriffen werden. Cmdlets mit 'FeatureDependencyId' sind nicht registriert.
Export-SPWeb : Es wurde kein SPWeb-Objekt mit 'Id or Url : http://localhost/'; gefunden.
In C:\Temp\Export_Lists_neu.ps1:5 Zeichen:1

back-to-topExport-SPWeb -Identity "http:///localhost/" -ItemURL "/Lists/Kontakte/" -Path c: ...

back-to-top~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : InvalidData: (Microsoft.Share...CmdletExportWeb:SPCmdletExportWeb) [Export-SPWeb], SPCmdletPipeBindException
+ FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletExportWeb
colinardo
colinardo 22.01.2015 um 15:39:44 Uhr
Goto Top