当我尝试使用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/")
有人可以告诉我为什么会这样吗?
感谢。 :)
答案 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");