Сегодня столкнулся с довольно простой задачей по экспорту списка из сайта Sharepoint. Задача простая, но вот на реализацию ушло времени несколько больше ожидаемого.
Посмотрел на синтаксис команды на сайте производителя:
Export-SPWeb [-Identity] -Path [-AssignmentCollection ] [-CompressionSize ] [-Confirm []] [-Force ] [-HaltOnError ] [-HaltOnWarning ] [-IncludeUserSecurity ] [-IncludeVersions ] [-ItemUrl ] [-NoFileCompression ] [-NoLogFile ] [-UseSqlSnapshot ] [-WhatIf []]
И написал такую строчку в powershell’е:
Export-SPWeb -Identity "https://sp10/sites/dep1/"-ItemUrl "/Lists/dep1PrivateList" -Path "\\sp10\backup\dep1PrivateList.cmp"
Получил такую ошибку:
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
Попробовал вписать полный путь к списку:
Export-SPWeb -Identity "https://sp10/sites/dep1/"-ItemUrl "https://sp10/sites/dep1/Lists/dep1PrivateList" -Path "\\sp10\backup\dep1PrivateList.cmp"
И получил такую же ошибку.
Довольно долго игрался с параметрами и пришел к правильному синтаксису:
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-папке, а не локальный диск.
спасибо автору про экспорт списка в шарике. мне помогло:)