Estou tentando fazer backup de uma lista e estou recebendo o erro
Export-SPWeb: Não é possível encontrar um objeto SPWeb com Id ou Url
. Suponho que isso esteja relacionado ao espaço no nome da lista. Já tentei esse comando de um milhão de maneiras diferentes, então qual é a melhor maneira de fazer isso? Eu li sobre as aspas duplas, mas não consigo fazer funcionar.
Export-SPWeb -Identity https://servername/path -Path C: \ backup.cmp -ItemUrl “/ Lists / Mortgage Referrals”
Comentários
- tenho certeza você tem acesso ao administrador central, tente exportar do administrador central
- Eu ' estou supondo porque seu -ItemUrl não é ' t válido. Export-SPWeb -ItemUrl states " Especifica a URL do aplicativo Web, GUID ou objeto a ser exportado. O tipo deve ser um URL válido; por exemplo, server_name . "
Resposta
Seu comando deve ser semelhante a este
Export-SPWeb -Identity https://servername/path -Path C:\backup.cmp -ItemUrl "Lists/Mortgage Referrals"
- na identidade URL completa do conjunto de sites .
- em ItemURL você não deve usar “/” se estiver na raiz do conjunto de sites.
Comentários
- Era isso! Após o -ItemUrl eu tinha: " / lists / etc " em vez de seu " listas / etc ". Não posso ' acreditar que perdi. Obrigado!
- Tenho certeza, você vai marcar como resposta e voto também. 🙂
- Tem certeza de que precisa de
/
se não estiver na raiz do conjunto de sites? Achei queItemUrl
fosse relacionado à web (posso estar enganado) - @JamesLove citando Brian da equipe MS PFE (o link está lá em minha resposta): basicamente sob o disfarce, o cmdlet Export-SPWeb chamará SPWeb.GetList (), mas antes de chamar essa função, ele adicionará SPWeb.ServerRelativeUrl e um “/” extra se a string em ItemUrl não tiver um “inicial / ”. Resumindo, para ser seguro, se você sempre definir o parâmetro ItemUrl para a url relativa do servidor e, em seguida, o caminho para a lista, ele sempre deve funcionar independentemente da localização da web
Resposta
A sintaxe geral é esta:
Export-SPWeb -Identity "http://site" -Path D:\list.cmp -ItemUrl "/Lists/{ListUrl}"
Mas o que você precisa inserir {List}
parte de -ItemUrl
argumento é um URL, não um título de lista . Para encontrá-lo, consulte o URL de qualquer visualização de sua lista, “Referências de hipoteca”. Parece com http://site/Lists/{ListUrl}/view.aspx
. É isso. Copie essa parte para Export-SPWeb
.
Faça o download no PowerShell:
($w.Lists["Mortgage Referrals"].DefaultViewUrl -split "/")[2] # this will return {ListUrl} part
Portanto, duas linhas combinadas têm a seguinte aparência:
$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
Atualização: ah, só mais uma coisa aqui. Export-SPWeb
difere quando executado em sites raiz e sites não raiz. Dê uma olhada em http://blogs.msdn.com/b/briangre/archive/2014/03/18/export-spweb-syntax-changes-between-root-site-and-sub-sites.aspx