Uno script PnP PowerShell per aggiungere una colonna di lookup in una site collection SharePoint online

PowerShell

Connect-PnPOnline -Url "https://tenantName.sharepoint.com" -UseWebLogin

# recupero il web root di site collection
$web = Get-PnPWeb

# recupero la lista con i valori di lookup
$list = Get-PnPList "nomeLista"

# aggiungo la colonna di sito di tipo lookup
$fld = Add-PnPField -DisplayName "Campo 1" -InternalName "SgartCampo1" -Id  "45919c50-a434-4cf6-9cb1-a59134c5c4bb" -Group "Sgart.it" -Type Lookup -ErrorAction Continue -Required

# setto i parametri per collegare il campo alla lista di lookup
$fld.$fld.LookupWebId = $web.Id.ToString("B")  
$fld.LookupList = $list.Id.ToString("B")             
$fld.LookupField = "Title";

# confermo le modifiche
$fld.Update()
$fld.Context.ExecuteQuery()
ATTENZIONE: Se non si popola la proprietà LookupWebId la colonna funzionerà solo nel sito di root site collection ma non nei sotto siti.

Per generare un nuovo guid da usare come id del campo si può usare il comando New-Guid

PowerShell

PS > New-Guid  

Guid
----
45919c50-a434-4cf6-9cb1-a59134c5c4bb
Tags:
SharePoint Online75 PowerShell200 SharePoint498 Script85
Potrebbe interessarti anche: