After publishing my recent article on the new the vSphere Health capability which takes advantage of VMware's Customer Experience Improvement Program (CEIP), I had a couple of folks reach out asking how their customers could check whether CEIP is enabled for a given vCenter Server and if not, how to enable it using Automation. For one of these customers, they had over 25+ vCenter Server, so they were not interested in doing this by hand and nor should they.
For those interested in the vSphere UI, the CEIP settings is configured in the Administration menu under the Deployment section as shown in the screenshot below.
We can also manage the CEIP settings programmatically using vSphere API and this is controlled by an Advanced vCenter Server setting called VirtualCenter.DataCollector.ConsentData. The value of this property is actually a JSON payload as you can see in the screenshot below and when updating this property, we need to update both the change version as well as whether we want CEIP enabled or disabled for a given vCenter Server.