Próbuję wykonać kopię zapasową listy i otrzymuję błąd

Export-SPWeb: nie można znaleźć obiektu SPWeb o identyfikatorze lub adresie URL

. Domyślam się, że jest to związane ze spacją w nazwie listy. Próbowałem tego polecenia na milion różnych sposobów, więc jaki jest najlepszy sposób, aby to zrobić? Czytałem o podwójnych cudzysłowach, ale nie mogę tego zrobić.

Export-SPWeb -Identity https://servername/path -Path C: \ backup.cmp -ItemUrl „/ Lists / Mortgage Referrals”

Komentarze

  • Jestem pewien masz dostęp do centralnego administratora, spróbuj wyeksportować od centralnego administratora
  • Zgaduję ', ponieważ twój -ItemUrl nie jest ' t ważne. Export-SPWeb -ItemUrl states " Określa adres URL aplikacji internetowej, identyfikator GUID lub obiekt do wyeksportowania. Typ musi być prawidłowym adresem URL; na przykład nazwa_serwera . "

Odpowiedź

Polecenie powinno wyglądać następująco

Export-SPWeb -Identity https://servername/path -Path C:\backup.cmp -ItemUrl "Lists/Mortgage Referrals" 
  • w tożsamości pełny adres URL zbioru witryn .
  • w ItemURL nie należy używać znaku „/”, jeśli znajduje się on w katalogu głównym zbioru witryn.

Komentarze

  • To było to! Po -ItemUrl miałem: " / lists / etc " zamiast " list / etc ". Czy ' nie mogę uwierzyć, że to przegapiłem. Dzięki!
  • Jestem pewien, że zaznaczysz to odpowiedź i również zagłosuj. 🙂
  • Czy na pewno wymaga / jeśli nie w katalogu głównym zbioru witryn? Myślałem, że ItemUrl dotyczy sieci (mogę się mylić)
  • @JamesLove Cytując Briana z zespołu MS PFE (link znajduje się w mojej odpowiedzi): zasadniczo pod okładkami cmdlet Export-SPWeb wywoła SPWeb.GetList (), ale przed wywołaniem tej funkcji doda SPWeb.ServerRelativeUrl i dodatkowe „/”, jeśli ciąg w ItemUrl nie ma wiodącego „ / ”. Krótko mówiąc, aby zachować bezpieczeństwo, jeśli zawsze ustawiasz parametr ItemUrl na względny adres URL serwera, a następnie ścieżkę do listy, powinno to zawsze działać niezależnie od lokalizacji internetowej.

Odpowiedź

Ogólna składnia jest taka:

Export-SPWeb -Identity "http://site" -Path D:\list.cmp -ItemUrl "/Lists/{ListUrl}" 

Ale to, co musisz umieścić w {List} częścią -ItemUrl argumentu jest URL, a nie tytuł listy . Aby go znaleźć, spójrz na URL dowolnego widoku swojej listy, „Polecenia hipoteki”. Wygląda na to, że http://site/Lists/{ListUrl}/view.aspx. To wszystko. Skopiuj tę część do Export-SPWeb.

Pobierz w PowerShell:

($w.Lists["Mortgage Referrals"].DefaultViewUrl -split "/")[2] # this will return {ListUrl} part 

Tak więc połączenie dwuwierszowe wygląda tak:

$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 

Aktualizacja: och, jeszcze jedna rzecz. Export-SPWeb różni się, gdy jest uruchamiany w witrynach głównych i innych niż root. Spójrz na http://blogs.msdn.com/b/briangre/archive/2014/03/18/export-spweb-syntax-changes-between-root-site-and-sub-sites.aspx

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *