PnP PowerShell — загрузка CSV в список SharePoint

#powershell #sharepoint #sharepoint-online

Вопрос:

Я ищу некоторую помощь в PnP PowerShell. У меня есть скрипт, который принимает файл CSV и загружает каждую строку в качестве элемента в SharePoint Online (см. Ниже). Мой вопрос в том, как мне заставить скрипт пропускать элементы, которые уже существуют в списке SharePoint Online? В настоящее время скрипт просто загружает все строки в CSV и создает некоторые дубликаты.

 #Parameters
$SiteUrl = "{site}"
$ListName = "iPhone"

$CSVPath = "C:Users{user}DocumentsPowerShellUpload SharePoint items from CSViphoneexport.csv"



#Get the CSV file contents
$CSVData = Import-CsV -Path $CSVPath

#Connect to site
Connect-PnPOnline $SiteUrl -Interactive


#Iterate through each Row in the CSV and import data to SharePoint Online List
ForEach ($Row in $CSVData)
{
Write-Host "Adding Item $($Row.'Asset Number')"


#Add List Items - Map with Internal Names of the Fields!
Add-PnPListItem -List $ListName -Values @{"Title" = $($Row.'Asset Number');

                        "User" = $($Row.User);

};

}
 

Я был бы благодарен за любой совет, который кто-либо может дать.

Большое спасибо,

Алекс.

Комментарии:

1. Сначала соберите то, что уже есть в списке. Используйте Get-PnPListItem и используйте его для фильтрации всех дубликатов из $CSVData

Ответ №1:

В качестве обходного пути можно применить уникальные значения для столбца заголовка в настройках списка. Как показано на рисунке ниже:

введите описание изображения здесь