Set-SPProfilePictureUrl

Sets the picture URL path for user profiles. The following variables may be used for dynamic replacement: "@(username)", "@(domain)", "@(email)", "@(firstname)", "@(lastname)", "@(employeeid)".

Set-SPProfilePictureUrl -UserProfileServiceApplication <SPServiceApplicationPipeBind> [-SiteSubscription [<SPSiteSubscriptionPipeBind>]] [-Username [<String>]] -Path <String> [-Overwrite [<SwitchParameter>]] [-IgnoreMissingData [<SwitchParameter>]] [-ValidateUrl [<SwitchParameter>]] [-AssignmentCollection [<SPAssignmentCollection>]]

Set-SPProfilePictureUrl -ContextSite <SPSitePipeBind> [-Username [<String>]] -Path <String> [-Overwrite [<SwitchParameter>]] [-IgnoreMissingData [<SwitchParameter>]] [-ValidateUrl [<SwitchParameter>]] [-AssignmentCollection [<SPAssignmentCollection>]]

Set-SPProfilePictureUrl -UserProfile <UserProfile> -Path <String> [-Overwrite [<SwitchParameter>]] [-IgnoreMissingData [<SwitchParameter>]] [-ValidateUrl [<SwitchParameter>]] [-AssignmentCollection [<SPAssignmentCollection>]]

Parameters

1

ParameterRequiredTypeDescription
UserProfileServiceApplicationTrueSPServiceApplicationPipeBind

Specifies the service application that contains the user profiles to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a service application (for example, ServiceApp1); or an instance of a valid SPServiceApplication object.

SiteSubscriptionFalseSPSiteSubscriptionPipeBind

Specifies the site subscription containing the user profiles to update.

The type must be a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a site subscription (for example, SiteSubscription1); or an instance of a valid SiteSubscription object.

UsernameFalseString

The username corresponding to the user profile to update in the form domain\username.

PathTrueString

Path to new photo (i.e., "http://intranet/hr/EmployeePictures/@(username).jpg") - leave blank to clear.The path to the images. To substitute dynamic data use the following strings variables within the path: @(username), @(domain), @(email), @(firstname), @(lastname), @(employeeid). The variable names are case sensitive.

OverwriteFalseSwitchParameter

If provided then existing data values will be overwritten. If omitted then any profile objects with existing data will be ignored.

IgnoreMissingDataFalseSwitchParameter

If specified then do not error if a specified variable value cannot be found. Note that if the value is not found then the property value will not be set.

ValidateUrlFalseSwitchParameter

If specified then perform a web request to see if the resultant URL is valid. If the result is not valid then the property value will be set to an empty string.

AssignmentCollectionFalseSPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

ParameterRequiredTypeDescription
ContextSiteTrueSPSitePipeBind

Specifies the URL or GUID of the Site to use for retrieving the service context. Use this parameter when the service application is not associated with the default proxy group or more than one custom proxy groups.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

UsernameFalseString

The username corresponding to the user profile to update in the form domain\username.

PathTrueString

Path to new photo (i.e., "http://intranet/hr/EmployeePictures/@(username).jpg") - leave blank to clear.The path to the images. To substitute dynamic data use the following strings variables within the path: @(username), @(domain), @(email), @(firstname), @(lastname), @(employeeid). The variable names are case sensitive.

OverwriteFalseSwitchParameter

If provided then existing data values will be overwritten. If omitted then any profile objects with existing data will be ignored.

IgnoreMissingDataFalseSwitchParameter

If specified then do not error if a specified variable value cannot be found. Note that if the value is not found then the property value will not be set.

ValidateUrlFalseSwitchParameter

If specified then perform a web request to see if the resultant URL is valid. If the result is not valid then the property value will be set to an empty string.

AssignmentCollectionFalseSPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

3

ParameterRequiredTypeDescription
UserProfileTrueUserProfile

The user profile to update.

PathTrueString

Path to new photo (i.e., "http://intranet/hr/EmployeePictures/@(username).jpg") - leave blank to clear.The path to the images. To substitute dynamic data use the following strings variables within the path: @(username), @(domain), @(email), @(firstname), @(lastname), @(employeeid). The variable names are case sensitive.

OverwriteFalseSwitchParameter

If provided then existing data values will be overwritten. If omitted then any profile objects with existing data will be ignored.

IgnoreMissingDataFalseSwitchParameter

If specified then do not error if a specified variable value cannot be found. Note that if the value is not found then the property value will not be set.

ValidateUrlFalseSwitchParameter

If specified then perform a web request to see if the resultant URL is valid. If the result is not valid then the property value will be set to an empty string.

AssignmentCollectionFalseSPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

Sets the picture URL path for user profiles. The following variables may be used for dynamic replacement: "@(username)", "@(domain)", "@(email)", "@(firstname)", "@(lastname)", "@(employeeid)".

Copyright 2016 Falchion Consulting, LLC

> For more information on this cmdlet and others:

> http://blog.falchionconsulting.com/

> Use of this cmdlet is at your own risk.

> Gary Lapointe assumes no liability.

Examples

------------------EXAMPLE------------------

PS C:\> Set-SPProfilePictureUrl -UserProfileServiceApplication "30daa535-b0fe-4d10-84b0-fb04029d161a" -Username "domain\username" -Path "http://intranet/hr/EmployeePictures/@(username).jpg" -Overwrite -ValidateUrl

This example sets the picture url of a user in the user profile service application with ID "30daa535-b0fe-4d10-84b0-fb04029d161a".