DSCResources/MSFT_xSPUserProfileProperty/MSFT_xSPUserProfileProperty.schema.mof

 
/*
**Description**
 
This resource will create a property in a user profile service application.
It creates, update or delete a property using the parameters that are passed in to it .
 
The parameter DisplayOrder is absolute. ie.: If you want it to be placed as the 5th field of section Bla, which has propertyName value of 5000 then your DisplayOrder needs to be 5005
If no DisplayOrder is added then SharePoint adds it as the last property of section X.
 
Length is only relevant if Field type is "String".
 
This Resource doesn't currently support removing existing user profile properties
 
**Example**
xSPUserProfileProperty WorkEmailProperty
{
    Name = "WorkEmail2"
    UserProfileService = "User Profile Service Application"
    DisplayName = "Work Email"
    Type = "Email"
    Description = "" #implementation isn't using it yet
    PolicySetting = "Required"
    PrivacySetting = "Everyone"
    MappingConnectionName = "contoso.com"
    MappingPropertyName = "mail"
    MappingDirection = "Import"
    Length = 10
    DisplayOrder =25
    IsEventLog =$false
    IsVisibleOnEditor=$true
    IsVisibleOnViewer = $true
    IsUserEditable = $true
    IsAlias = $false
    IsSearchable = $false
    TermStore = ""
    TermGroup = ""
    TermSet = ""
    UserOverridePrivacy = $false
}
 
*/
 
 
[ClassVersion("1.0.0.0"), FriendlyName("xSPUserProfileProperty")]
class MSFT_xSPUserProfileProperty : OMI_BaseResource
{
    [Key] string Name ;
    [write, ValueMap{"Present","Absent"}, Values{"Present","Absent"}] string Ensure;
    [required] string UserProfileService;
    [write] string DisplayName ;
    [write, ValueMap{"BigInteger","Binary","Boolean","Date","DateNoYear","DateTime","Email","Float","Guid","HTML","Integer","Person","String","StringMultiValue","TimeZone","URL"}, Values{"BigInteger","Binary","Boolean","Date","DateNoYear","DateTime","Email","Float","Guid","HTML","Integer","Person","String","StringMultiValue","TimeZone","URL"}] string Type;
    [write] string Description ;
    [write, ValueMap{"Mandatory","Optin","Optout","Disabled"}, Values{"Mandatory","Optin","Optout","Disabled"}] string PolicySetting;
    [write, ValueMap{"Public","Contacts","Organization","Manager","Private"}, Values{"Public","Contacts","Organization","Manager","Private"}] string PrivacySetting ;
    [write] string MappingConnectionName ;
    [write] string MappingPropertyName ;
    [write] string MappingDirection ;
    [write] uint32 Length ;
    [write] uint32 DisplayOrder;
    [write] boolean IsEventLog ;
    [write] boolean IsVisibleOnEditor;
    [write] boolean IsVisibleOnViewer;
    [write] boolean IsUserEditable ;
    [write] boolean IsAlias;
    [write] boolean IsSearchable;
    [write] boolean UserOverridePrivacy ;
    [write] string TermStore ;
    [write] string TermGroup;
    [write] string TermSet;
    [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount;
};