Set Site Content Type Column Required in SharePoint using PowerShell

The example in this topic show how to use PowerShell to Set Site Content Type Column Required in SharePoint

  • # Provide credentials over here
  • $creds = (New-Object System.Management.Automation.PSCredential "<<UserName>>",(ConvertTo-SecureString "<<Password>>" -AsPlainText -Force))
  •  
  • # Provide URL of the Site over here
  • # If you do not wish to pass credentials hard coded then you can use: -Credentials (Get-Credential). This will prompt to enter credentials
  • Connect-PnPOnline -Url http://MyServer/sites/MySiteCollection -Credentials $creds
  •  
  • # Get Context
  • $clientContext = Get-PnPContext
  •  
  • # Give target content type name over here
  • $targetContentType = Get-PnPContentType -Identity "Content Type Title"
  •  
  • # Load target content type and content type fields
  • $clientContext.Load($targetContentType)
  • $clientContext.Load($targetContentType.Fields)
  •  
  • $clientContext.ExecuteQuery()
  •  
  • # Get required field from the target content type
  • # Mention field internal name or display name over here
  • $targetField = $targetContentType.Fields.GetByInternalNameOrTitle("Column name")
  •  
  • $clientContext.Load($targetField)
  •  
  • $clientContext.ExecuteQuery()
  •  
  • # Make content type field required
  • $targetContentType.FieldLinks.GetById($targetField.Id).Required = 1
  •  
  • # Update(UpdateChildren – bool), this value indicates whether the children content type(inheriting from this Content Type) needs to be updated. 0 = False, 1 = True
  • $targetContentType.Update(0)
  •  
  • $clientContext.ExecuteQuery()
  •  
  • Disconnect-PnPOnline

Thank you for reading this article. This code was tested in SharePoint 2013


© 2019 Code SharePoint