Set-UserPhoto

此 cmdlet 仅适用于本地 Exchange。

使用 Set-UserPhoto cmdlet 可以配置允许用户将图片与其帐户关联的用户照片功能。 用户照片显示在客户端应用程序(如 Outlook、Microsoft Teams 和 SharePoint)中。

注意:在 Microsoft 365 中,可以在 Microsoft Graph PowerShell 中管理用户照片。 有关说明,请参阅 在 Microsoft Graph PowerShell 中管理用户照片

有关以下语法部分的参数设置的详细信息,请参阅 Exchange cmdlet 语法

语法

Set-UserPhoto
   [-Identity] <MailboxIdParameter>
   [-Cancel]
   [-Confirm]
   [-GroupMailbox]
   [-DomainController <Fqdn>]
   [-IgnoreDefaultScope]
   [-PhotoType <String>]
   [-UseCustomRouting]
   [-WhatIf]
   [<CommonParameters>]
Set-UserPhoto
   [-Identity] <MailboxIdParameter>
   -PictureData <Byte[]>
   [-Confirm]
   [-DomainController <Fqdn>]
   [-GroupMailbox]
   [-IgnoreDefaultScope]
   [-PhotoType <String>]
   [-UseCustomRouting]
   [-WhatIf]
   [<CommonParameters>]
Set-UserPhoto
   [-Identity] <MailboxIdParameter>
   [-PictureData <Byte[]>]
   [-PictureStream <Stream>]
   [-Preview]
   [-Confirm]
   [-DomainController <Fqdn>]
   [-GroupMailbox]
   [-IgnoreDefaultScope]
   [-PhotoType <String>]
   [-UseCustomRouting]
   [-WhatIf]
   [<CommonParameters>]
Set-UserPhoto
   [-Identity] <MailboxIdParameter>
   -PictureStream <Stream>
   [-Confirm]
   [-DomainController <Fqdn>]
   [-GroupMailbox]
   [-IgnoreDefaultScope]
   [-PhotoType <String>]
   [-UseCustomRouting]
   [-WhatIf]
   [<CommonParameters>]
Set-UserPhoto
   [-Identity] <MailboxIdParameter>
   [-Save]
   [-Confirm]
   [-DomainController <Fqdn>]
   [-GroupMailbox]
   [-IgnoreDefaultScope]
   [-PhotoType <String>]
   [-UseCustomRouting]
   [-WhatIf]
   [<CommonParameters>]

说明

用户照片功能使用户可以将图片与其帐户关联。 用户照片存储在用户的 Active Directory 帐户和用户的 Exchange 邮箱的根目录中。 管理员使用 Set-UserPhoto cmdlet 配置用户照片。 用户可以在 Outlook 网页版 的“选项”页中上传、预览用户照片并将其保存到其帐户。 当用户上传照片时,照片的预览将显示在Outlook 网页版的“选项”页上。 这是预览状态,所产生的结果与使用 Preview 参数运行 Set-UserPhoto cmdlet 相同。 如果用户单击“保存”,则将预览照片保存为用户的照片。 这与运行 Set-UserPhoto -Save 命令或同时 Set-UserPhoto -Preview 运行 和 Set-UserPhoto -Save 命令的结果相同。 如果用户在 Outlook 网页版 中的“选项”页上取消预览照片,则会Set-UserPhoto -Cancel调用 命令。

必须先为用户设置用户照片,然后才能运行 Get-UserPhoto cmdlet 查看有关用户照片的信息。 否则,将收到错误消息,指示指定用户的用户照片不存在。 或者,可以运行 Get-UserPhoto -Preview 命令来查看有关预览照片的信息。

注意:在受影响的用户访问其个人资料页面 (“我的网站”) 或任何显示其大型缩略图的 SharePoint 页面之前,对用户照片所做的更改才会显示在 SharePoint 中。

您必须先获得权限,然后才能运行此 cmdlet。 虽然本主题中列出了此 cmdlet 的所有参数,但如果这些参数并未包含在分配给您的权限中,那么您将无法使用这些参数。 若要查找在贵组织中运行任何 cmdlet 或参数所需的权限,请参阅 Find the permissions required to run any Exchange cmdlet

示例

示例 1

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

本示例使用单个命令将照片上载并保存到 Paul Cannon 的用户帐户。

示例 2

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

Set-UserPhoto "Ann Beebe" -Save

此示例显示如何使用两个命令将预览照片上载并保存到 Ann Beebe 的用户帐户。 第一个命令将预览照片上传到 Ann Beebe 的用户帐户,第二个命令将上传的照片保存为预览照片。

示例 3

Set-UserPhoto -Identity "Ann Beebe" -Cancel

此示例删除在上一个示例中上传的预览照片。

参数

-Cancel

适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019

“取消”开关会删除当前作为预览照片上传的照片。 不必为此开关指定值。

若要删除当前与用户帐户关联的照片,请使用 Remove-UserPhoto cmdlet。 “取消”开关仅删除预览照片。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Confirm

适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019

Confirm 开关指定是否显示确认提示。 此开关对 cmdlet 造成的影响取决于在你继续操作之前 cmdlet 是否需要确认。

  • 破坏性 cmdlet(例如 Remove-* cmdlets)内置有暂停,可强制要求先确认命令,然后再继续操作。 对于这些 cmdlet,您可以使用此确切语法跳过确认提示:-Confirm:$false
  • 其他大多数 cmdlet(例如 New-* 和 Set-* cmdlet)都没有内置暂停。 对于这些 cmdlet,指定不含值的 Confirm 开关会引入暂停,从而强制要求你先确认命令,然后再继续操作。

此 cmdlet 具有内置暂停,因此请使用 -Confirm:$false 跳过确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DomainController

适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019

DomainController 参数指定此 cmdlet 从 Active Directory 读取数据或向其写入数据时使用的域控制器。 可以使用完全限定的域名 (FQDN) 来标识域控制器。 例如,dc01.contoso.com。

类型:Fqdn
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-GroupMailbox

适用:2016 Exchange Server、Exchange Server 2019

修改Microsoft 365 组需要 GroupMailbox 开关。 不必为此开关指定值。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Identity

适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019

Identity 参数指定用户的标识。 可以使用任何能够唯一标识该用户的值。 例如:

  • 名称
  • 别名
  • 可分辨名称 (DN)
  • 可分辨名称 (DN)
  • 域\用户名
  • 电子邮件地址
  • GUID
  • LegacyExchangeDN
  • SamAccountName
  • 用户 ID 或用户主体名称 (UPN)
类型:MailboxIdParameter
Position:1
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-IgnoreDefaultScope

适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019

IgnoreDefaultScope 开关指示命令忽略 Exchange PowerShell 会话的默认收件人范围设置,并将整个林用作范围。 不必为此开关指定值。

此开关使命令能够访问当前在默认范围中不可用的 Active Directory 对象,但也引入了以下限制:

  • 无法使用 DomainController 参数。 此命令自动使用相应的全局编录服务器。
  • 无法使用 DomainController 参数。 此命令自动使用相应的全局编录服务器。
类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PhotoType

适用:2016 Exchange Server、Exchange Server 2019

保留此参数以供 Microsoft 内部使用。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PictureData

适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019

PictureData 参数指定将要上传到用户的帐户的照片文件。

此参数的有效值要求使用以下语法将文件读取到字节编码对象: ([System.IO.File]::ReadAllBytes('<Path>\<FileName>'))。 可以使用此命令作为参数值,也可以将输出写入变量 () $data = [System.IO.File]::ReadAllBytes('<Path>\<FileName>') ,并将变量用作参数值 ($data) 。

类型:Byte[]
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-PictureStream

适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019

PictureStream 参数指定将要上传到用户的帐户的照片文件。 此参数由客户端应用程序(如 Outlook 网页版)在用户添加照片时使用。 若要使用 PowerShell 上传照片,请使用 PictureData 参数指定照片文件。

类型:Stream
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Preview

适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019

预览开关上传用户帐户的预览照片。 不必为此开关指定值。

预览照片是上载到用户帐户的照片对象,但尚未保存。 例如,如果用户在Outlook 网页版选项中上传照片,以便在保存照片之前进行预览。 如果使用“预览”开关上传预览照片,则需要运行 命令 Set-UserPhoto -Save 将其另存为用户的照片。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Save

适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019

“保存”开关指定上传到用户帐户的照片将保存为用户的照片。 不必为此开关指定值。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-WhatIf

适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019

WhatIf 开关模拟命令操作。 可以使用此开关在不实际应用将会发生的更改的情况下预览这些更改。 不必为此开关指定值。

类型:SwitchParameter
别名:wi
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

Input types

若要了解此 cmdlet 接受的输入类型,请参阅 cmdlet 的输入和输出类型。 如果 cmdlet 的"输入类型"字段为空,则表明此 cmdlet 不接受输入数据。

输出

Output types

若要了解此 cmdlet 接受的返回类型(亦称为"输出类型"),请参阅 cmdlet 的输入和输出类型。 如果"输出类型"字段为空,则表明此 cmdlet 不返回任何数据。