错误:“给定的密钥不存在于字典中”在Powershell CSOM中创建发布页面 [英] Error :"the given key was not present in the dictionary " while creating publishing page in Powershell CSOM

查看:272
本文介绍了错误:“给定的密钥不存在于字典中”在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆