要使用powershell Export-SpWeb
命令对抗root用户,必须执行以下格式:
Export-SPWeb -Identity "http://sharepoint.Contoso.com" -ItemUrl "/Documents" -Path "C:\..."
为此,-ItemUrl
需要/
(正斜杠)。否则没有斜线就会失败。
但是当一个人针对网站集运行它时
Export-SPWeb -Identity "http://sharepoint.Contoso.com/Sites/Omega" -ItemUrl "Main" -Path "C:\..."
ItemUrl
不需要/
。相反,如果添加/
,它将失败。
为什么需要斜线?我错过了什么?
答案 0 :(得分:1)
MSDN博客Export-SPWeb Syntax Changes Between Root Site and Sub Sites就此问题引用了一句话:
如果你想知道,基本上是在Export-SPWeb的掩护下 cmdlet将调用SPWeb.GetList(),但在调用该函数之前 它会在前面加上SPWeb.ServerRelativeUrl和一个额外的“/” ItemUrl中的字符串没有前导“/”。总之,如果安全的话 总是将ItemUrl参数设置为服务器相对URL和 然后是列表的路径,它应该始终工作,无论网络 位置。
答案 1 :(得分:0)
我相信实际上有两个单独的错误发生在幕后和恕我直言,微软应该修复它们:
Identity
时,它只是基本网址http://sharepoint.contoso.com
,并且未添加ItemUrl
中的斜杠,Export-SPWeb
内部有一个(读取Export-SPWeb : <nativehr>0x80070057</nativehr><nativestack></nativestack>
的未处理的)错误,它对最终用户没有任何意义。/
添加Export-SPWeb
时,无法处理并报告The URL provided is invalid. Only valid URLs that are site collections or sites are allowed to be exported using stsadm.exe.
第二个错误不是完全失败,而且更有用。但它根本不应该提到stsadm.exe
的网站管理。