Jun 29 2017 05:32 AM - edited Jun 29 2017 05:34 AM
Hi, I need to add a new site column, with DateTime Type, using PnP.
I can do that using next command:
Add-PnPField -DisplayName "Birthday" -InternalName "dateBirthday" -Group "TEST" -Type DateTime
My problem is that I need create the column with Date only format... When I use previous command by default columns site are created with Date&Time format.
Thank you!
Jun 29 2017 05:51 AM
Try this:
Add-PnPFieldFromXml '<Field Type="DateTime" DisplayName="My Test Column" Required="FALSE" EnforceUniqueValues="FALSE" Indexed="FALSE" Format="DateOnly" Group="Custom Columns" FriendlyDisplayFormat="Disabled" ID="{10ce4fed-921a-4d51-a870-534605bf89be}" SourceID="{6cf53ae4-314b-435e-9685-19b7f7b8df07}" StaticName="MyTestColumn2" Name="MyTestColumn2"></Field>'
Jun 29 2017 05:51 AM
Solution
Try this:
Add-PnPFieldFromXml '<Field Type="DateTime" DisplayName="My Test Column" Required="FALSE" EnforceUniqueValues="FALSE" Indexed="FALSE" Format="DateOnly" Group="Custom Columns" FriendlyDisplayFormat="Disabled" ID="{10ce4fed-921a-4d51-a870-534605bf89be}" SourceID="{6cf53ae4-314b-435e-9685-19b7f7b8df07}" StaticName="MyTestColumn2" Name="MyTestColumn2"></Field>'
Jun 29 2017 05:58 AM - edited Jun 29 2017 05:59 AM
Hi @Pieter Veenstra,
your command works fine!
Could you give me explanation about ID and SourceID??... Is there any way to avoid guids?
Add-PnPFieldFromXml '<Field Type="DateTime" DisplayName="My Test Column" Required="FALSE" EnforceUniqueValues="FALSE" Indexed="FALSE" Format="DateOnly" Group="Custom Columns" FriendlyDisplayFormat="Disabled" ID="{10ce4fed-921a-4d51-a870-534605bf89be}" SourceID="{6cf53ae4-314b-435e-9685-19b7f7b8df07}" StaticName="MyTestColumn2" Name="MyTestColumn2"> </Field>'
Jun 29 2017 06:02 AM
The sourceID doesn't matter too much. you can even remove that. It's there as I exported the xml from an example field that I created.
The ID just needs to be unique in your site collection.
Jun 29 2017 06:14 AM
Ok, I´ll remove SourceId property and I´ll set a random ID with EnforceUniqueValues="TRUE"
Your response is perfect for me, thank you again!
Feb 15 2019 07:36 AM - edited Feb 15 2019 08:01 AM
I had issue when source ID is not specified on SharePoint 2013 => the search would not crawl the site column..
I'm sharing my helper
$fieldTitle = "Target Date"
$fieldInternalName= "targetDate"
$guid = [guid]::NewGuid()
cm_Add-PnpField-DateOnly $fieldTitle $fieldInternalName $guid $customGroup
function cm_Add-PnpField-DateOnly($fieldTitle,$fieldInternalName,$guid,$fieldGroup){
$targetDate = '<Field Type="DateTime" DisplayName="'+$fieldTitle+'" Required="FALSE" EnforceUniqueValues="FALSE" Indexed="FALSE" Format="DateOnly" Group="' + $fieldGroup +'" FriendlyDisplayFormat="Disabled" ID="{'+$guid+'}" SourceID="{'+$guid+'}" StaticName="'+$fieldInternalName+'" Name="'+$fieldInternalName+'"></Field>'
Add-PnPFieldFromXml $targetDate
}