Ik probeer een back-up te maken van een lijst en krijg de foutmelding
Export-SPWeb: kan geen SPWeb-object vinden met Id of Url
. Ik vermoed dat dit gerelateerd is aan de spatie in de lijstnaam. Ik heb dit commando op een miljoen verschillende manieren geprobeerd, dus wat is de beste manier om dit te doen? Ik heb gelezen over de dubbele aanhalingstekens, maar kan het niet laten werken.
Export-SPWeb -Identity https://servername/path -Path C: \ backup.cmp -ItemUrl “/ Lists / Mortgage Referrals”
Reacties
- ik weet het zeker je hebt toegang tot de centrale admin, probeer te exporteren vanuit de centrale admin.
- Ik ' gok omdat je -ItemUrl niet ' t geldig. Export-SPWeb -ItemUrl states " Specificeert de URL van de webtoepassing, GUID of het te exporteren object. Het type moet een geldige URL zijn; bijvoorbeeld servernaam . "
Antwoord
Je commando zou er als volgt uit moeten zien
Export-SPWeb -Identity https://servername/path -Path C:\backup.cmp -ItemUrl "Lists/Mortgage Referrals"
- in identiteit volledige URL van siteverzameling .
- bij ItemURL mag u “/” niet gebruiken als het zich in de root van de siteverzameling bevindt.
Reacties
- Dat was het! Na de -ItemUrl had ik: " / lists / etc " in plaats van jouw " lijsten / etc ". Kan ' niet geloven dat ik het heb gemist. Bedankt!
- ik weet het zeker, je zult het antwoord ook als antwoord markeren en stemmen. 🙂
- Weet je zeker dat het
/
indien niet bij de root van de siteverzameling? Ik dacht datItemUrl
web-relatief was (ik zou het goed mis kunnen hebben) - @JamesLove Ik citeer Brian van het MS PFE-team (link is daarboven in mijn antwoord): eigenlijk onder de dekens zal de Export-SPWeb cmdlet SPWeb.GetList () aanroepen, maar voordat die functie wordt aangeroepen, zal het de SPWeb.ServerRelativeUrl en een extra “/” plaatsen als de string in ItemUrl geen voorloop heeft ” / ”. Kortom, om veilig te zijn als u de parameter ItemUrl altijd instelt op de relatieve URL van de server en vervolgens het pad naar de lijst, zou het altijd moeten werken, ongeacht de weblocatie.
Answer
Algemene syntaxis is deze:
Export-SPWeb -Identity "http://site" -Path D:\list.cmp -ItemUrl "/Lists/{ListUrl}"
Maar wat je moet invoeren {List}
deel van -ItemUrl
argument is een URL, geen lijsttitel . Om het te vinden, kijkt u naar de URL van een weergave van uw lijst, “Hypotheekverwijzingen”. Het ziet eruit als http://site/Lists/{ListUrl}/view.aspx
. Dat is het. Kopieer dat deel naar Export-SPWeb
.
Haal het op in powershell:
($w.Lists["Mortgage Referrals"].DefaultViewUrl -split "/")[2] # this will return {ListUrl} part
Gecombineerde two-liner ziet er dus als volgt uit:
$itemUrl = (((Get-SPWeb "http://site").Lists["Mortgage Referrals"].DefaultViewUrl -split "/") | select -first 3) -join "/" Export-SPWeb -Identity "http://site" -Path D:\list.cmp -ItemUrl $itemUrl
Update: oh, nog één ding hier. Export-SPWeb
verschilt wanneer uitgevoerd op root-sites en niet-root-sites. Kijk eens naar http://blogs.msdn.com/b/briangre/archive/2014/03/18/export-spweb-syntax-changes-between-root-site-and-sub-sites.aspx