前言

公司導入 Office 365,總會希望內部員工上傳自己的相片,不要讓 Teams 的頭像都空白的;當新進員工 onboard ,人資會希望讓新員工快速融入組織,通常會收集照片與自我介紹,進一步介紹給組織內部所有人員,倘若 Teams 能自動匯入新進員工的相片,會讓其他員工感覺親切。本篇文章簡單透過 PowerShell 指令將照片匯入 Office 365 Portal。若有任何錯誤或建議,請各位先進不另提出,謝謝。



操作流程

在執行登入之前,我們必須進行登入,與之前提到的指令有些不同,我們的 ConnectUrl 會變成 https://outlook.office365.com/powershell-liveid/?proxymethod=rps

注意: 若沒有加上 ?proxymethod=rps,可能會發生錯誤

透過下列指令建立 Session
$User = "account@company.onmicrosoft.com"
$Password = ConvertTo-SecureString -String "password" -AsPlainText -Force
$UserCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $Password
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/?proxymethod=rps -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking

接下來,你可以透過
Set-UserPhoto -Identity exouser -PictureData ([System.IO.File]::ReadAllBytes("C:\photo\userphoto.jpg"))


接下來,我們到 Office 365 Admin Portal,可以看見使用者的照片已經更換。過沒多久, Teams 上也可以看見使用者的相片了。

注意:Teams 相片同步可能需要時間,最快2-3分鐘即可看到照片,但最久可能需要48小時
注意:若您上傳的圖片尺寸較小(如小於 256 x 256),您可能會在 Office 365 Admin Portal 發現照片被移除;但沒多久您仍可以在Teams 上看到照片,猜測系統應該有分大尺寸找片與小尺吋照片:當你匯入大尺寸照片,系統會幫您壓縮並匯入小尺吋照片;當你匯入尺寸小的照片,系統並不會幫你放入大尺吋照片 (2019.10.22 測試)。