en-US/about_SPUserProfileServiceApp.help.txt

.NAME
    SPUserProfileServiceApp
 
# Description
     
    **Type:** Distributed
     
    This resource will provision an instance of the user profile service to the
    farm. It creates the required databases using the parameters that are passed
    in to it (although these are only used during the initial provisioning).
     
    The specified InstallAccount or PSDSCRunAsCredential cannot be the Farm Account.
    The resource will throw an error when it is.
     
    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 Farm Account
    credential to the local administrators group at the beginning of the set method
    and remove it again later on.
     
    The default value for the Ensure parameter is Present. When not specifying this
    parameter, the service application is provisioned.
     
    The parameter SiteNamingConflictResolution accepts three values: Username_CollisionError,
    Username_CollisionDomain and Domain_Username. More information on each of these
    parameters can be found at:
    https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.server.userprofiles.sitenameformat?view=sharepoint-server
     
    NOTE:
    Due to the fact that SharePoint requires certain User Profile components to be
    provisioned as the Farm account, this resource and SPUserProfileSyncService
    retrieve the Farm account from the Managed Accounts.
    This does however mean that CredSSP is required, which has some security
    implications. More information about these risks can be found at:
    http://www.powershellmagazine.com/2014/03/06/accidental-sabotage-beware-of-credssp/
     
.PARAMETER Name
    Key - string
    The name of the user profile service
 
.PARAMETER ProxyName
    Write - string
    The proxy name, if not specified will be /Name of service app/ Proxy
 
.PARAMETER ApplicationPool
    Required - string
    The name of the application pool to run the service app in
 
.PARAMETER MySiteHostLocation
    Write - string
    The URL of the my site host collection
 
.PARAMETER MySiteManagedPath
    Write - string
    The Managed Path of the my site sites
 
.PARAMETER ProfileDBName
    Write - string
    The name of the profile database
 
.PARAMETER ProfileDBServer
    Write - string
    The name of the server to host the profile database
 
.PARAMETER SocialDBName
    Write - string
    The name of the social database
 
.PARAMETER SocialDBServer
    Write - string
    The name of the database server to host the social database
 
.PARAMETER SyncDBName
    Write - string
    The name of the sync database
 
.PARAMETER SyncDBServer
    Write - string
    The name of the database server to host the sync database
 
.PARAMETER EnableNetBIOS
    Write - boolean
    Whether Farm should resolve NetBIOS domain names
 
.PARAMETER NoILMUsed
    Write - boolean
    Specifies if the service application should be configured to use AD Import
 
.PARAMETER SiteNamingConflictResolution
    Write - string
    Allowed values: Username_CollisionError, Username_CollisionDomain, Domain_Username
    Specifies which SiteNamingConflictResolution should be used
 
.PARAMETER Ensure
    Write - string
    Allowed values: Present, Absent
    Present if the service app should exist, absent if it should not
 
.PARAMETER InstallAccount
    Write - String
    POWERSHELL 4 ONLY: The account to run this resource as, use PsDscRunAsCredential if using PowerShell 5
 
 
.EXAMPLE
    This example adds a new user profile service application to the local farm
 
 
    Configuration Example
    {
        param(
            [Parameter(Mandatory = $true)]
            [PSCredential]
            $SetupAccount
        )
        Import-DscResource -ModuleName SharePointDsc
 
        node localhost {
            SPUserProfileServiceApp UserProfileServiceApp
            {
                Name = "User Profile Service Application"
                ApplicationPool = "SharePoint Service Applications"
                MySiteHostLocation = "http://my.sharepoint.contoso.local"
                MySiteManagedPath = "personal"
                ProfileDBName = "SP_UserProfiles"
                ProfileDBServer = "SQL.contoso.local\SQLINSTANCE"
                SocialDBName = "SP_Social"
                SocialDBServer = "SQL.contoso.local\SQLINSTANCE"
                SyncDBName = "SP_ProfileSync"
                SyncDBServer = "SQL.contoso.local\SQLINSTANCE"
                EnableNetBIOS = $false
                PsDscRunAsCredential = $SetupAccount
            }
        }
    }
 
 
.EXAMPLE
    This example adds a new user profile service application to the local farm
 
 
    Configuration Example
    {
        param(
            [Parameter(Mandatory = $true)]
            [PSCredential]
            $SetupAccount,
 
            [Parameter(Mandatory = $true)]
            [PSCredential]
            $FarmAccount
        )
        Import-DscResource -ModuleName SharePointDsc
 
        node localhost {
            SPUserProfileServiceApp UserProfileServiceApp
            {
                Name = "User Profile Service Application"
                ApplicationPool = "SharePoint Service Applications"
                MySiteHostLocation = "http://my.sharepoint.contoso.local"
                MySiteManagedPath = "personal"
                ProfileDBName = "SP_UserProfiles"
                ProfileDBServer = "SQL.contoso.local\SQLINSTANCE"
                SocialDBName = "SP_Social"
                SocialDBServer = "SQL.contoso.local\SQLINSTANCE"
                SyncDBName = "SP_ProfileSync"
                SyncDBServer = "SQL.contoso.local\SQLINSTANCE"
                EnableNetBIOS = $false
                NoILMUsed = $true
                PsDscRunAsCredential = $SetupAccount
            }
        }
    }
 
 
.EXAMPLE
    This example adds a new user profile service application to the local farm
 
 
    Configuration Example
    {
        param(
            [Parameter(Mandatory = $true)]
            [PSCredential]
            $SetupAccount,
 
            [Parameter(Mandatory = $true)]
            [PSCredential]
            $FarmAccount
        )
        Import-DscResource -ModuleName SharePointDsc
 
        node localhost {
            SPUserProfileServiceApp UserProfileServiceApp
            {
                Name = "User Profile Service Application"
                ApplicationPool = "SharePoint Service Applications"
                MySiteHostLocation = "http://my.sharepoint.contoso.local"
                MySiteManagedPath = "personal"
                ProfileDBName = "SP_UserProfiles"
                ProfileDBServer = "SQL.contoso.local\SQLINSTANCE"
                SocialDBName = "SP_Social"
                SocialDBServer = "SQL.contoso.local\SQLINSTANCE"
                SyncDBName = "SP_ProfileSync"
                SyncDBServer = "SQL.contoso.local\SQLINSTANCE"
                EnableNetBIOS = $false
                SiteNamingConflictResolution = "Domain_Username"
                PsDscRunAsCredential = $SetupAccount
            }
        }
    }