我可以使用 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
(抱歉,这是新的答案——目前还没有发表评论的声誉。)