Export (0) Print
Expand All

Set-UserPhoto

Exchange Online
 

Applies to: Exchange Online, Exchange Server 2013

Topic Last Modified: 2015-06-22

This cmdlet is available in on-premises Exchange Server 2013 and in the cloud-based service. Some parameters and settings may be exclusive to one environment or the other.

Use the Set-UserPhoto cmdlet to configure the user photos feature that allows users to associate a picture with their account. User photos appear in on-premises and cloud-based client applications, such as MicrosoftOutlook Web App, Lync, Skype for Business, and SharePoint.

For information about the parameter sets in the Syntax section below, see Syntax.

Set-UserPhoto -Identity <MailboxIdParameter> -PictureData <Byte[]> <COMMON PARAMETERS>
Set-UserPhoto -Cancel <SwitchParameter> -Identity <MailboxIdParameter> <COMMON PARAMETERS>
Set-UserPhoto -Identity <MailboxIdParameter> -Preview <SwitchParameter> [-PictureData <Byte[]>] [-PictureStream <Stream>] <COMMON PARAMETERS>
Set-UserPhoto -Identity <MailboxIdParameter> -PictureStream <Stream> <COMMON PARAMETERS>
Set-UserPhoto -Identity <MailboxIdParameter> -Save <SwitchParameter> <COMMON PARAMETERS>
COMMON PARAMETERS: [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-IgnoreDefaultScope <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

This example uploads and saves a photo to Paul Cannon's user account using a single command.

Set-UserPhoto "Paul Cannon" -PictureData ([System.IO.File]::ReadAllBytes("C:\Users\Administrator\Desktop\PaulCannon.jpg"))

This example shows how to use two commands to upload and save a preview photo to Ann Beebe's user account.

This command uploads a preview photo to Ann Beebe's user account.

Set-UserPhoto "Ann Beebe" -PictureData ([System.IO.File]::ReadAllBytes("C:\Users\Administrator\Desktop\AnnBeebe.jpg")) -Preview

To save the preview photo that was uploaded using the previous command, run the following command.

Set-UserPhoto "Ann Beebe" -Save

To delete the preview photo that was uploaded using the first command in this example, run the following command.

Set-UserPhoto "Ann Beebe" -Cancel

In on-premises Exchange, the user photo is stored in the user's Active Directory account. In Exchange Online the user photo is stored in the root directory of the user's mailbox.

For Exchange Online mailboxes, you need to manage user photos by using this cmdlet, or by accessing the user's Outlook Web App Options page. User photos are synchronized from Active Directory to the cloud only once during a mailbox migration. Therefore, even in hybrid environments, don't try to manage user photos in Active Directory.

On a user's Outlook Web App Options page, when you upload a photo, a preview is displayed before you click Save or Cancel. This is the preview state, and is the same as running Set-UserPhoto with the Preview switch. If you click Save, the preview photo is saved as the user's photo. This is the same as running Set-UserPhoto with the Save switch. If you click Cancel, the preview photo is deleted. This is the same as running Set-UserPhoto with the Cancel switch.

A user photo must be set before you can run the Get-UserPhoto cmdlet to view information about the user's photo. Otherwise, you'll get an error message saying the user photo doesn't exist.

You need to be assigned permissions before you can run this cmdlet. Although all parameters for this cmdlet are listed in this topic, you may not have access to some parameters if they're not included in the permissions assigned to you. To see what permissions you need, see the "Recipient provisioning permissions" section in the Recipients Permissions topic.

 

Parameter Required Type Description

Cancel

Required

System.Management.Automation.SwitchParameter

The Cancel switch deletes the photo currently uploaded as the preview photo. You don't need to specify a value with this switch.

To delete the photo currently associated with a user's account, use the Remove-UserPhoto command. The Cancel switch only deletes the preview photo.

Identity

Required

Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter

The Identity parameter specifies the identity of the user. You can use one of the following values:

  • GUID

  • Distinguished name (DN)

  • Display name

  • Domain\Account

  • User principal name (UPN)

  • LegacyExchangeDN

  • SmtpAddress

  • Alias

PictureData

Required

System.Byte[]

The PictureData parameter specifies the photo file that will be uploaded to the user's account. Use the following syntax for this parameter. ([System.IO.File]::ReadAllBytes("<file name and path>")). The following is an example. ([System.IO.File]::ReadAllBytes("C:\Documents\Pictures\MyPhoto.jpg")).

PictureStream

Required

System.IO.Stream

The PictureStream parameter specifies the photo that will be uploaded to the user's account. This parameter is used by client applications such as Outlook Web App when users add a photo. To upload a photo using Windows PowerShell, use the PictureData parameter to specify the photo file.

Preview

Required

System.Management.Automation.SwitchParameter

The Preview switch uploads a preview photo for the user account. You don't need to specify a value with this switch.

A preview photo is the photo object that is uploaded to the user's account, but isn’t saved. For example, if a user uploads a photo in Outlook Web App Options to preview before saving it. If you use the Preview parameter to upload a preview photo, you have to run the Set-UserPhoto <UserIdentity> -Save command to save it as the user’s photo.

Save

Required

System.Management.Automation.SwitchParameter

The Save switch specifies that the photo that's uploaded to the user's account will be saved as the user's photo. You don't need to specify a value with this switch.

Confirm

Optional

System.Management.Automation.SwitchParameter

The Confirm switch causes the command to pause processing and requires you to acknowledge what the command will do before processing continues. You don't have to specify a value with the Confirm switch.

DomainController

Optional

Microsoft.Exchange.Data.Fqdn

This parameter is available only in on-premises Exchange 2013.

The DomainController parameter specifies the fully qualified domain name (FQDN) of the domain controller that writes this configuration change to Active Directory.

GroupMailbox

Optional

System.Management.Automation.SwitchParameter

This parameter is available only in the cloud-based service.

The GroupMailbox switch indicates the specified user is an Office 365 group. You don't need to specify a value with this switch.

IgnoreDefaultScope

Optional

System.Management.Automation.SwitchParameter

The IgnoreDefaultScope switch tells the command to ignore the default recipient scope setting for the Exchange Management Shell session, and to use the entire forest as the scope. This allows the command to access Active Directory objects that aren't currently available in the default scope.

Using the IgnoreDefaultScope switch introduces the following restrictions:

  • You can't use the DomainController parameter. The command uses an appropriate global catalog server automatically.

  • You can only use the DN for the Identity parameter. Other forms of identification, such as alias or GUID, aren't accepted.

WhatIf

Optional

System.Management.Automation.SwitchParameter

The WhatIf switch instructs the command to simulate the actions that it would take on the object. By using the WhatIf switch, you can view what changes would occur without having to apply any of those changes. You don't have to specify a value with the WhatIf switch.

To see the input types that this cmdlet accepts, see Cmdlet Input and Output Types. If the Input Type field for a cmdlet is blank, the cmdlet doesn’t accept input data.

To see the return types, which are also known as output types, that this cmdlet accepts, see Cmdlet Input and Output Types. If the Output Type field is blank, the cmdlet doesn’t return data.

 
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft