错误:“给定的密钥不存在于字典中”在Powershell CSOM中创建发布页面 [英] Error :"the given key was not present in the dictionary " while creating publishing page in Powershell CSOM
本文介绍了错误:“给定的密钥不存在于字典中”在Powershell CSOM中创建发布页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我面临错误:"给定的密钥不在字典中"我正在创作 在sharepoint中在线发布页面 使用powershell CSOM。
这是我的代码:
$ ctx = New-Object Microsoft.SharePoint.Client.ClientContext($ siteUrl)
          $ ctx.Credentials = $ credentials
          $ ctx.ExecuteQuery()
          $ pageLayoutList = $ ctx.Web.Lists.GetByTitle(" Master Page Gallery"))
        $ ctx.Load($ pageLayoutList)
          $ ctx.ExecuteQuery()
       
          $ pageLayoutQuery = New-Object Microsoft.SharePoint.Client.CamlQuery
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; $ pageLayoutQuery.ViewXml ="< View Scope ='RecursiveAll'>< Query>< Where>< Eq>< FieldRef Name ='FileLeafRef'/>< Value Type ='Text' >" + $ pageLayoutName +"< / Value>< / Eq>< / Where>< / Query>< / View>"
  ; &NBSP; &NBSP; &NBSP; &NBSP;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; $ pageLayouts = $ pageLayoutList.GetItems($ pageLayoutQuery)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; $ ctx.Load($ pageLayouts)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; $ ctx.ExecuteQuery()
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; $ pageLayout = $ pageLayouts [0]
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; Write-Host $ pageLayouts.Count" - " $ pageLayout.Id
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; #获取发布网络
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; $ pubWeb = [Microsoft.SharePoint.Client.Publishing.PublishingWeb] :: GetPublishingWeb($ subsiteCtx,$ subsiteCtx.Web)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; $ subsiteCtx.Load($ pubWeb)&NBSP;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; $ subsiteCtx.ExecuteQuery()
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; $ pageInfo = New-Object Microsoft.SharePoint.Client.Publishing.PublishingPageInformation
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; $ pageInfo.Name = $ pageName
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; $ pageInfo.PageLayoutListItem = $ pageLayout
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; $ page = $ pubWeb.AddPublishingPage($ pageInfo)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; $ subsiteCtx.Load($ page)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; $ subsiteCtx.ExecuteQuery()&NBSP;
SP
解决方案
请查看以下链接
https://absolute-sharepoint.com/2012/06/the-given-key-as-not-present-in-the-dictionary.html
Hi,
I am facing error:"the given key was not present in the dictionary " while i am creating publishing page in sharepoint online using powershell CSOM.
Here is my code:
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)$ctx.Credentials = $credentials
$ctx.ExecuteQuery()
$pageLayoutList = $ctx.Web.Lists.GetByTitle("Master Page Gallery")
$ctx.Load($pageLayoutList)
$ctx.ExecuteQuery()
$pageLayoutQuery = New-Object Microsoft.SharePoint.Client.CamlQuery
$pageLayoutQuery.ViewXml = "<View Scope='RecursiveAll'><Query><Where><Eq><FieldRef Name='FileLeafRef'/><Value Type='Text'>"+$pageLayoutName+"</Value></Eq></Where></Query></View>"
$pageLayouts = $pageLayoutList.GetItems($pageLayoutQuery)
$ctx.Load($pageLayouts)
$ctx.ExecuteQuery()
$pageLayout = $pageLayouts[0]
Write-Host $pageLayouts.Count "-" $pageLayout.Id
#Get the publishing Web
$pubWeb = [Microsoft.SharePoint.Client.Publishing.PublishingWeb]::GetPublishingWeb($subsiteCtx, $subsiteCtx.Web)
$subsiteCtx.Load($pubWeb)
$subsiteCtx.ExecuteQuery()
$pageInfo = New-Object Microsoft.SharePoint.Client.Publishing.PublishingPageInformation
$pageInfo.Name = $pageName
$pageInfo.PageLayoutListItem = $pageLayout
$page = $pubWeb.AddPublishingPage($pageInfo)
$subsiteCtx.Load($page)
$subsiteCtx.ExecuteQuery()
SP
解决方案
please check the link below
https://absolute-sharepoint.com/2012/06/the-given-key-as-not-present-in-the-dictionary.html
这篇关于错误:“给定的密钥不存在于字典中”在Powershell CSOM中创建发布页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文