Lync 中的用戶聯繫人相片未正確顯示
問題
當您連線到 商務用 Skype Online (之前稱為 Lync Online) 時,您可能會遇到下列問題:
- 問題 1:您無法在 Lync 2010 或 Lync 2013 中檢視自己的聯繫人相片。
- 問題 2:其他聯繫人看不到您的相片。 這包括外部聯繫人。
- 問題 3:高解析度聯繫人相片不會顯示在 Lync 2013 的會議和在線會議中。
解決方案
問題 1 的解決方式
若要解決問題 1,請從 Microsoft 365 入口網站上傳相片。 根據用戶擁有的 Exchange 信箱版本,有不同的上傳選項。 如需如何從 Lync 2010 或 Lync 2013 上傳相片的詳細資訊,請移至下列 Microsoft 網站:
問題 2 的解決方式
如果外部聯繫人回報他們無法檢視您的聯繫人相片,請確定這些相片不是使用 thumbnailPhoto 屬性在 Active Directory 中發佈。 在此情況下,相片無法供外部聯繫人使用,因為相片會儲存在本機 Active Directory 網域服務 (AD DS) 中。
外部聯繫人無法從本機來源擷取相片。 只有相同組織內的用戶能夠在 商務用 Skype Online 中擷取相片。
問題 3 的解決方式
高定義相片只會顯示在 Lync 2013 和 Microsoft Lync Web 應用程式中。 如果使用者登入 Lync 2010,則會顯示標準定義相片,而不是高解析度版本。 或者,如果使用者登入 Lync 2013,而且某些聯繫人的相片解析度不高,您應該確定聯繫人有 Exchange 2013 信箱,並已上傳高解析度相片。
其他相關資訊
這些問題可能會因為下列其中一個原因而發生:
- 當下列其中一個條件成立時,通常會發生問題 1:
- 沒有上傳相片。
- 相片不符合大小或類型需求。
- 使用者的 Exchange 信箱無法使用。
- 當聯繫人無法存取相片時,就會發生問題 2。 這可能是因為 Exchange 信箱無法使用,或是因為相片儲存在 Active Directory 中,外部聯繫人無法存取。
- 當使用者登入 Lync 2010 或未顯示相片的用戶沒有 Exchange 2013 信箱時,就會發生問題 3。
如何透過PowerShell將相片上傳至 Exchange Online
首先,使用下列 Microsoft 網站上的指示,使用遠端 PowerShell 連線到 Exchange Online:
使用遠端 PowerShell 連線到 Exchange Online
線上之後,請使用 Set-UserPhoto Cmdlet 將相片直接上傳至使用者的 Exchange 信箱。 如需 Set-UserPhoto Cmdlet 及其使用方式的詳細資訊,請移至下列 Microsoft TechNet 網站:
如何在 AD DS 中填入 「thumbnailPhoto」 屬性
如果您執行 Microsoft Azure Active Directory 同步作業工具,請執行 Windows PowerShell 腳本來填入 內部部署的 Active Directory 架構中的 thumbnailPhoto 屬性。 如果要執行這項操作,請依照下列步驟執行:
啟動記事本,然後將下列 Windows PowerShell 腳本貼到記事本中:
$SAMName=Read-Host "Enter a username" $root = [ADSI]'GC://dc=contoso,dc=local' $searcher = new-object System.DirectoryServices.DirectorySearcher($root) $searcher.filter = "(&(objectClass=user)(sAMAccountName=$SAMName))" $user = $searcher.findall() $userdn = $user[0].path $userdn = $userdn.trim("GC") $userdn = "LDAP" + $userdn function Select-FileDialog { param([string]$Title,[string]$Directory,[string]$Filter="All Files (*.*)|*.*") [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null $objForm = New-Object System.Windows.Forms.OpenFileDialog $objForm.InitialDirectory = $Directory $objForm.Filter = $Filter $objForm.Title = $Title $objForm.ShowHelp = $true $Show = $objForm.ShowDialog() If ($Show -eq "OK") { Return $objForm.FileName } Else { Write-Error "Operation canceled by user." } } $photo = Select-FileDialog -Title "Select a photo" -Directory "%userprofile%" -Filter "JPG Images (*.jpg)|*.jpg|PNG Images (*.png)|*.png" $user = [ADSI]($userdn) [byte[]]$file = Get-Content $photo -Encoding Byte # clear previous image if exist $user.Properties["thumbnailPhoto"].Clear() # write the image to the user's thumbnailPhoto attribute by converting the byte[] to Base64String $result = $user.Properties["thumbnailPhoto"].Add($file) # commit the changes to AD $user.CommitChanges() if ($result -eq "0") { Write-Host "Photo successfully uploaded." } else { Write-Error "Photo was not uploaded." }
在腳本的第 2 行上,編輯 GC 位置以反映本機 Active Directory 架構。 在此範例中,我們會使用 Contoso.local 網域。 因此,在此範例中,第 2 行如下所示:
$root = [ADSI]'GC://dc=contoso,dc=local'
在 [ 檔案] 功能表上,按兩下 [ 儲存]。
在 [ 另存新檔類型] 方塊中,按兩下 [所有檔案 (*.*) ] 。
在 [ 檔名] 方塊中,輸入 UploadADPhoto.ps1,然後按兩下 [ 儲存]。
開始 Windows PowerShell,然後移至您儲存腳本的位置。
執行腳本,輸入使用者的別名,然後按 Enter。 [檔案開啟] 對話框會提示您輸入 JPG 或 PNG 格式的影像檔。
按一下 [開啟]。 結果會顯示在螢幕上。
如果圖片已成功上傳,請採取下列其中一個動作:
讓 Azure Active Directory 同步處理工具進行同步處理。
強制同步處理。 如需如何強制同步處理的詳細資訊,請移至下列 Microsoft 網站:
等候 12 到 24 小時,所有變更才會生效。
注意事項
如果使用此方法發佈相片,則 Windows Live Hotmail 使用者和其他同盟組織等外部聯繫人無法顯示相片。 無法顯示相片,因為無法從外部位置存取檔案。
是否仍需要協助? 前往 Microsoft Community。