Я пытаюсь изменить содержимое поля для нескольких записей в списке. До сих пор я понял, что могу редактировать список, добавлять столбцы на самом деле, но не могу найти ничего о том, как редактировать текст поля. Вот что у меня есть:Поле списка изменений с Powershell в SharePoint Online
EDIT: Я нашел кучу информации за 2010 год, которая не применима, но я обновил код, чтобы почти туда добраться. Я получаю ошибки «нулевого массива», когда я подключаюсь к списку. Я надеюсь, потому что я могу подключиться, но все равно не могу изменить поле. Я обновил оператор if, а также верю в лучший формат.
#Load necessary module to connect to SPOService
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") | Out-Null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime") | Out-Null
#Login Information for script
$User = "[email protected]"
$Pass = "password"
$creds = New-Object System.Management.Automation.PSCredential($User, (ConvertTo-SecureString $Pass -AsPlainText -Force));
#Connect to SharePoint Online service
Write-Host "Logging into SharePoint online service." -ForegroundColor Green
Connect-SPOService -Url https://site-admin.sharepoint.com -Credential $creds
#Get the Necessary List
Write-Host "Getting the required list." -ForegroundColor Green
$WebUrl = 'https://site.sharepoint.com/'
$Context = New-Object Microsoft.SharePoint.Client.ClientContext($WebUrl)
$List = $Context.Web.Lists.GetByTitle("VacationRequestForm")
#Edit existing list items
$items = $List.items
foreach($item in $items)
{
if($item["Export Flag"] -eq "New")
{
Write-Host "Changing export flags to Complete." -ForegroundColor Green
$item["Export Flag"] = "Complete"
$item.Update()
}
}
Write-Host "Your changes have now been made." -ForegroundColor Green
Единственное, что я фактически подрезал, это 'context.ExecuteQuery' в нижней части скрипта. Я никогда раньше не использовал .ps1, так что я как-то набросал в темноте код выше. Как определить $ Context как в этом случае? – Benjooster
Я обновил $ Context так, чтобы он был определен в соответствии со связанным кодом C#. – Benjooster
Так что сценарий работает до завершения, но не вносит никаких изменений в список ... Он не выдает никаких ошибок, он просто ничего не обновляет? – Benjooster