Applies to: Exchange Server 2013, Exchange Online
Topic Last Modified: 2012-08-08
Use the Set-UserPhoto cmdlet to configure the user photos feature that allows users to associate a picture with their account. User photos are stored in Active Directory and appear in on-premises and cloud-based client applications, such as Microsoft Office Outlook Web App, Microsoft Office Lync, and Microsoft SharePoint.
For information about the parameter sets in the Syntax section below, see Syntax.
Syntax
Set-UserPhoto -Identity <MailboxIdParameter>
-PictureData <Byte[]> <COMMON PARAMETERS>
|
Set-UserPhoto -Cancel <SwitchParameter> -Identity
<MailboxIdParameter> <COMMON PARAMETERS>
|
Set-UserPhoto -Identity <MailboxIdParameter> -Save
<SwitchParameter> <COMMON PARAMETERS>
|
Set-UserPhoto -Identity <MailboxIdParameter>
-PictureStream <Stream> <COMMON PARAMETERS>
|
COMMON PARAMETERS: -Identity <MailboxIdParameter>
[-Confirm [<SwitchParameter>]] [-DomainController
<Fqdn>] [-IgnoreDefaultScope <SwitchParameter>]
[-WhatIf [<SwitchParameter>]]
|
Examples
EXAMPLE 1
This example uploads a preview photo to Ann Beebe's user account.
Copy Code | |
---|---|
Set-UserPhoto "Ann Beebe" -PictureData ([System.IO.File]::ReadAllBytes("C:\Users\Administrator\Desktop\AnnBeebe.jpg")) |
To save the preview photo that was uploaded using the previous command, run the following command.
Copy Code | |
---|---|
Set-UserPhoto "Ann Beebe" -Save |
To delete the preview photo that was uploaded using the first command in this example, run the following command.
Copy Code | |
---|---|
Set-UserPhoto "Ann Beebe" -Cancel |
EXAMPLE 2
This example uploads and saves a photo to Paul Cannon's user account.
Copy Code | |
---|---|
Set-UserPhoto "Paul Cannon" -PictureData ([System.IO.File]::ReadAllBytes("C:\Users\Administrator\Desktop\PaulCannon.jpg")) |
Copy Code | |
---|---|
Set-UserPhoto "Paul Cannon" -Save |
Detailed Description
The user photos feature allows users to associate a
picture with their account. User photos are stored in the user's
Active Directory account and in the root directory of the user's
Exchange mailbox. Administrators use the Set-UserPhoto
cmdlet or the Exchange Administration Center to configure user
photos. Users can upload, preview, and save a user photo to their
account by using the Outlook Web App Options page. When a user
uploads a photo, a preview of the photo is displayed on the Outlook
Web App Options page. This is the preview state, and creates the
same result as running the Set-UserPhoto cmdlet without
using the Save or Cancel parameters. If the user
clicks Save, the preview photo is saved as the user's photo.
This is the same result as running the Set-UserPhoto
-Save
command. If the user cancels the preview photo, then
the Set-UserPhoto -Cancel
command is called.
A user photo must be set for a user 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 for the specified user.
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.
Parameters
Parameter | Required | Type | Description |
---|---|---|---|
Cancel |
Required |
System.Management.Automation.SwitchParameter |
The Cancel parameter deletes the photo currently uploaded as the preview photo. To delete the photo currently associated with a user's account, use the Remove-UserPhoto command. The Cancel parameter 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:
|
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.
|
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. |
Save |
Required |
System.Management.Automation.SwitchParameter |
The Save parameter specifies that the photo that's uploaded to the user's account will be saved as the user's photo. |
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 |
The DomainController parameter specifies the fully qualified domain name (FQDN) of the domain controller that writes this configuration change to Active Directory. |
IgnoreDefaultScope |
Optional |
System.Management.Automation.SwitchParameter |
The IgnoreDefaultScope parameter instructs the command to ignore the default recipient scope setting for the Exchange Management Shell session and use the entire forest as the scope. This allows the command to access Active Directory objects that aren't currently in the default scope. Using the IgnoreDefaultScope parameter introduces the following restrictions:
|
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. |
Input Types
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.
Return Types
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.