[英]Unable to create SharePoint online list items using Power shell
我想在 SharePoint 在线列表中添加列表项,所以我运行以下命令:-
$SiteUrl = "https://***.sharepoint.com/sites/t"
$ListName= "Child2"
Connect-PnPOnline -Url $SiteUrl -UseWebLogin
$Ctx = Get-PnPContext
#Get the list Item
$List=$Ctx.Web.Lists.GetByTitle($ListName)
$Import = Import-Csv -Path "C:\CSV\finaldelta3.csv"
for ($counter=0; $counter -lt $Import.Length; $counter++){
$ListItemInfo = New-Object Microsoft.SharePoint.Client.ListItemCreationInformation
$ListItem = $List.AddItem($ListItemInfo)
#Set Column Values
$ListItem["Title"] = "Hello World!"
#Apply changes to list
$ListItem.Update()
$Ctx.ExecuteQuery()
}
现在在一个租户上,我不会收到任何错误,但不会创建列表项,而在另一个租户上,我会遇到此异常,并且该项目也不会被创建:-
Cannot convert argument "parameters", with value: "Microsoft.SharePoint.Client.ListItemCreationInformation", for "AddItem" to type "Microsoft.SharePoint.Client.ListItemCreationInformation": "Cannot convert the "Microsoft.SharePoint.Client.ListItemCreationInformation" value类型为“Microsoft.SharePoint.Client.ListItemCreationInformation”以键入“Microsoft.SharePoint.Client.ListItemCreationInformation”。 在第 4 行 char:1 + $ListItem = $List.AddItem($ListItemInfo) +
+ CategoryInfo: NotSpecified: (:) [], MethodException + FullyQualifiedErrorId: MethodArgumentConversionInvalidCastArgument Cannot index into a null array. At line:7 char:1 + $ListItem["Title"] = "Hello World."#$Import[$counter].'Caller Info' #..: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (,) []: RuntimeException + FullyQualifiedErrorId. NullArray You cannot call a method on a null-valued expression: At line:10 char.1 + $ListItem:Update() + ~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (,) []: RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull
所以知道发生了什么吗? 谢谢
您是否尝试过更新您的 SPO 管理 Shell: https://www.microsoft.com/en-in/download/details.aspx?id=35588
和/或 SPO 客户端组件 SDK: https://www.microsoft.com/en-us/download/details.aspx?id=42038
我不确定 PnPOnline 是否需要它,但使用 SPOServices 您还需要加载程序集:
Add-Type -Path "$Env:ProgramFiles\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "$Env:ProgramFiles\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
Add-Type -Path "$Env:ProgramFiles\SharePoint Client Components\16.0\Assemblies\Microsoft.Online.SharePoint.Client.Tenant.dll"
或者:
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") | Out-Null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime") | Out-Null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Online.SharePoint.Client.Tenant") | Out-Null
就个人而言,我开始我的脚本
#Requires -Module Microsoft.Online.SharePoint.PowerShell
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.