Skip to content

SPUserProfileSyncService

Brian Farnhill edited this page Dec 9, 2016 · 19 revisions

Parameters

Parameter Attribute DataType Description Allowed Values
UserProfileServiceAppName Key string The name of the user profile service for this sync instance
Ensure Write string Present to ensure the service is running, absent to ensure it is not Present, Absent
FarmAccount Required String The farm account, which is needed to provision the service app
RunOnlyWhenWriteable Write Boolean Should the sync service only run when the user profile database is in a writeable state?
InstallAccount Write String POWERSHELL 4 ONLY: The account to run this resource as, use PsDscRunAsCredential if using PowerShell 5

Description

This resource is responsible for ensuring that the user profile sync service has been provisioned (Ensure = "Present") or is not running (Ensure = "Absent") on the current server. This resource uses the InstallAccount to validate the current state only, the set method which will do the provisioning uses the FarmAccount to do the actual work - this means that CredSSP authentication will need to be permitted to allow a connection to the local server. To allow successful provisioning the farm account must be in the local administrators group, however it is not best practice to leave this account in the Administrators group. Therefore this resource will add the FarmAccount credential to the local administrators group at the beginning of the set

Examples

Example 1

This example provisions the user profile sync service to the local server

Configuration Example 
{
    param(
        [Parameter(Mandatory = $true)]
        [PSCredential]
        $SetupAccount,

        [Parameter(Mandatory = $true)]
        [PSCredential]
        $FarmAccount
    )
    Import-DscResource -ModuleName SharePointDsc

    node localhost {
        SPUserProfileSyncService UserProfileSyncService
        {  
            UserProfileServiceAppName   = "User Profile Service Application"
            Ensure                      = "Present"
            FarmAccount                 = $FarmAccount
            RunOnlyWhenWriteable        = $true
            InstallAccount              = $SetupAccount
        }
    }
}
Clone this wiki locally