Add Lookup Field to SharePoint List using PowerShell

Requirement: PowerShell script to add lookup field to SharePoint list:

Scenario: You have a parent list called “Parent Projects” and a child list “Project Milestones”. The “Parent Project Name” field in the child list is being looked up from the parent list’s “Project Name” field.

sharepoint powershell add lookup column to list

PowerShell to Add Lookup Field to SharePoint List:

Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue 

#configuration parameters
$ParentListName="Parent Projects"
$ChildListName="Project Milestones"

$ParentLookupColumnName="Project Name"
$ChildLookupColumnName="Parent Project Name"

#Get the Parent and Child Lists
$Web = Get-SPWeb $WebURL
$ParentList = $web.Lists[$ParentListName]
$ChildList = $web.Lists[$ChildListName]

#Check if Field exists already
    #sharepoint powershell - create lookup field
    $ChildLookupColumn = $ChildList.Fields.AddLookup($ChildLookupColumnName,$,$False)
    $ChildLookupColumn = $ChildList.Fields[$ChildLookupColumnName]

    #Setup lookup Field property
    $ChildLookupColumn.LookupField = $ParentList.Fields[$ParentLookupColumnName]
    write-host "Lookup field added successfully!" -f green
    write-host "Field Exists already!" -f red

That’s all! We’ve created a lookup column using PowerShell in the SharePoint list.

Salaudeen Rajack

Salaudeen Rajack is a SharePoint Architect with Two decades of SharePoint Experience. He loves sharing his knowledge and experiences with the SharePoint community, through his real-world articles!

2 thoughts on “Add Lookup Field to SharePoint List using PowerShell

  • Can I Add Additional Lookup Field?

  • how to create sharepoint list view using powershell from content type column


Leave a Reply