使用 Get-UserPhoto 将照片检索为图像文件

使用 Get-UserPhoto 将照片检索为图像文件

我可以使用 PowerShell 从 Exchange 服务器获取“用户照片”,如下所示:

[PS] C:\Windows\system32>Get-UserPhoto "Woodrow Wilson"


RunspaceId  : 1ce31a7e-bbb7-4056-98d5-39da1bdb677b
Identity    : exchange.contoso.local/Users/Woodrow Wilson
PictureData : {137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82...}
Thumbprint  :
IsValid     : True
ObjectState : New



[PS] C:\Windows\system32>

但是我怎样才能将 PictureData 作为图像文件获取?

答案1

此来源描述使用Set-Content从中保存图像PictureData

$user = Get-UserPhoto [email protected]
$user.PictureData |Set-Content "C:\Export\Photo$($user.Identity).jpg" -Encoding byte

答案2

root 提供的答案是正确的;但是,“byte”不再是 Encoding 参数的可接受值(可能从 PowerShell v6 开始)。PS6+ 的更新命令是:

$user = Get-UserPhoto [email protected]
$user.PictureData | Set-Content "C:\Export\Photo$($user.Identity).jpg" -AsByteStream

参考:PowerShell 参考 - Set-Content

(抱歉,这是新的答案——目前还没有发表评论的声誉。)

相关内容