Export-SPWeb ItemUrl Pathing差异

时间:2016-07-12 14:28:39

标签: powershell sharepoint

要使用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不需要/。相反,如果添加/,它将失败。

为什么需要斜线?我错过了什么?

2 个答案:

答案 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)

我相信实际上有两个单独的错误发生在幕后和恕我直言,微软应该修复它们:

  1. 在处理Identity时,它只是基本网址http://sharepoint.contoso.com,并且未添加ItemUrl中的斜杠,Export-SPWeb内部有一个(读取Export-SPWeb : <nativehr>0x80070057</nativehr><nativestack></nativestack>的未处理的)错误,它对最终用户没有任何意义。
  2. 当用户向相对路径/添加Export-SPWeb时,无法处理并报告The URL provided is invalid. Only valid URLs that are site collections or sites are allowed to be exported using stsadm.exe.
  3. 第二个错误不是完全失败,而且更有用。但它根本不应该提到stsadm.exe的网站管理。