使用“1”参数调用“GetList”的异常

时间:2012-02-08 16:39:33

标签: powershell sharepoint-2010

当我尝试使用GetList时,我收到以下异常:

Exception calling "GetList" with "1" argument(s): "<nativehr>0x80070002</nativehr><nativestack></nativestack>"
At C:\Scripts\teaCvProfileUpdate\uploadTeaCvsToSharepoint.ps1:37 char:36
+ $cvDocumentLibrary = $spWeb.GetList <<<< ("/people/User Resumes/Forms/")
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

这些是相关的3行代码(powershell):

$spSite = Get-SPSite $mySiteUrl
$spWeb = $spSite.OpenWeb("/")
$cvDocumentLibrary = $spWeb.GetList("/people/User Resumes/Forms/")

有人可以告诉我为什么会这样吗?

感谢。 :)

4 个答案:

答案 0 :(得分:2)

尝试:

$spSite = Get-SPSite $mySiteUrl
$spWeb = $spSite.OpenWeb("people")
$cvDocumentLibrary = $spWeb.GetList("/people/User Resumes")

答案 1 :(得分:1)

这是我必须做的才能让它发挥作用:

$mySiteUrl = "https://snip.snip.snip/people"
$spSite = Get-SPSite -Identity $mySiteUrl
$spWeb = $spSite.OpenWeb()
$cvDocumentLibrary = $spWeb.GetList("/people/User Resumes")

感谢您的建议。 :)

答案 2 :(得分:1)

SPWeb.GetList()期望服务器相对URL到列表。所以在你的例子中,它将是:

$spSite = Get-SPSite -Identity $mySite;
$spWeb = $spSite.OpenWeb();
$myList = $spWeb.GetList($spWeb.ServerRelativeUrl + "/Lists/MyList");

答案 3 :(得分:1)

我也遇到了同样的错误消息。我发现当我尝试使用相对URL从父级/顶级站点打开列表时,由于返回了太多的正斜杠,我遇到了错误。使用Adam代码的问题示例:如果$ mySite =“https://site.com”,则($ spWeb.ServerRelativeURL +“/ Lists / MyList”)返回“// Lists / MyList”。这不是有效的相对URL。删除列表前面的正斜杠,下面的代码对我有效。

$spSite = Get-SPSite -Identity $mySite;
$spWeb = $spSite.OpenWeb();
$myList = $spWeb.GetList($spWeb.ServerRelativeUrl + "Lists/MyList");