Сегодня столкнулся с довольно простой задачей по экспорту списка из сайта Sharepoint. Задача простая, но вот на реализацию ушло времени несколько больше ожидаемого.
Посмотрел на синтаксис команды на сайте производителя:
1 | Export-SPWeb [-Identity] <SPWebPipeBind> -Path <String> [-AssignmentCollection <SPAssignmentCollection>] [-CompressionSize <Int32>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-HaltOnError <SwitchParameter>] [-HaltOnWarning <SwitchParameter>] [-IncludeUserSecurity <SwitchParameter>] [-IncludeVersions <LastMajor | CurrentVersion | LastMajorAndMinor | All>] [-ItemUrl <String>] [-NoFileCompression <SwitchParameter>] [-NoLogFile <SwitchParameter>] [-UseSqlSnapshot <SwitchParameter>] [-WhatIf [<SwitchParameter>]] |
И написал такую строчку в powershell’е:
1 | Export-SPWeb -Identity "https://sp10/sites/dep1/"-ItemUrl "/Lists/dep1PrivateList" -Path "\\sp10\backup\dep1PrivateList.cmp" |
Получил такую ошибку:
1 2 3 4 5 6 | Export-SPWeb : The URL provided is invalid. Only valid URLs that are site collections or sites are allowed to be exported using stsadm.exe. At line:1 char:13 + Export-SPWeb <<<< -Identity "https://sp10/sites/dep1/" -ItemUrl "https://sp10/sites/dep1/Lists/dep1PrivateList" -Path "\\sp10\backup\dep1PrivateList.cmp" + CategoryInfo : InvalidData: (Microsoft.Share...CmdletExportWeb: SPCmdletExportWeb) [Export-SPWeb], SPException + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletExportWeb |
Попробовал вписать полный путь к списку:
1 | Export-SPWeb -Identity "https://sp10/sites/dep1/"-ItemUrl "https://sp10/sites/dep1/Lists/dep1PrivateList" -Path "\\sp10\backup\dep1PrivateList.cmp" |
И получил такую же ошибку.
Довольно долго игрался с параметрами и пришел к правильному синтаксису:
1 | Export-SPWeb -Identity "https://sp10/sites/dep1/"-ItemUrl "Lists/dep1PrivateList" -Path "\\sp10\backup\dep1PrivateList.cmp" |
Итого, соберу все особенности правильного синтаксиса для экспорта списка Sharepoint в одном месте:
-
1. В параметре ItemUrl путь должен начинаться без "/" и заканчиваться без него, т.е. Identity + ItemUrl должны быть тем, что написано в адресной строке до последнего слэша;
2. Подставлять в ItemUrl нужно УРЛ списка (с учетом замечаний в п.1.), а не его название. Эти параметры могут отличаться, особенно если название списка содержит русские буквы (не латинские) или список создан кодом;
3. В параметре Path рекомендую указывать сетевой путь к Shared-папке, а не локальный диск.
спасибо автору про экспорт списка в шарике. мне помогло:)
Комментарий by андрей — 25.02.2015 @ 18:39