Zdjęcie użytkownika Office 365

utworzone przez | maj 11, 2016 | Microsoft 365 | 0 komentarzy

Zdjęcie użytkownika Office 365 to problem, który był ostatnio przedmiotem mojej namiętnej korespondencji z Microsoft, jak i kwestią, która wybitnie mi działała na nerwy. I właśnie ten post powstał na bazie tych doświadczeń i frustracji związanych z integracją lokalnego AD z Office 365 / Azure AD. Ja jestem przede wszystkim gościem od SharPointa i tylko chciałem aby zdjęcia moich użytkowników pojawiły się w usłudze SharePoint. Niestety, życie zmusiło mnie do zajęcia się problemem synchronizacji niektórych właściwości w AD. Ale po kolei. Moja firma ma lokalne Active Directory, które jest zintegrowane z Azure AD za pomocą DirSync. Wszystko działa pięknie, tylko w pewnym momencie pojawił się mały kłopot.

Chciałem aby zdjęcia moich użytkowników, którzy mają je ustawione w AD, pojawiły się również w SharePoint. Nasz lokalny support stwierdził, że wszystko jest ok i nie ma błędów. Ale niestety problem był. Tak wygląda mój profil w lokalnym AD

Ale już kiedy przechodziłem do Office 365 miejsce zdjęcia były puste

Zdjęcie użytkownika Office 365

Zgłosiłem problem na forum Microsoft – możecie poczytać o tym pod tym linkiem. No więc o co chodzi? Na kwestię zdjęć nakłada się kilka kwestii:

  • przede wszystkim zdjęcie z lokalnego AD nie pojawia się od razu we wszystkich miejscach Office 365!
  • pierwszym miejsce gdzie zdjęcie z naszego AD się pojawi będzie Exchange online
  • Aby zdjęcie z AD pojawiło się w Exchange online musi być mniejsze niż 10KB
  • Jeżeli nie mamy zdjęcia w Exchange online to nie pojawi się one również w SharePoint online…
  • Jeżeli mamy zdjęcie w Exchane online to aby pojawiło się w SharePoint online musimy wymusić synchronizację

 

Wymuszanie synchronizacji zdjęcia do SharePoint online

Wszystko wydaje się bardzo proste ale czasami może doprowadzić do białej gorączki. Nie możemy, nawet jako administrator, wymusić w interfejsie Office 365 synchronizacji zdjęcia innego użytkownika! Wymagane jest działanie jego samego. Najprostszym sposobem będzie przejście użytkownika do stron my sites lub aplikacji Delve. Można również w celu wyzwolenia synchronizacji przejść do:

About me > klikamy zdjęcie > Change photos > zmieniamy zdjęcie w Edit Details >

Z reguły to działa. Jeżeli jest problem można spróbować następujących kroków:

  1. Przechodzimy do SharePoint Online Admin Center w Office 365 admin portal> User profiles
  2. W sekcji People wybieramy 'Manage User Profiles’
  3. Szukamy użytkownika z którym mamy problem
  4. Przechodzimy do edycji profilu i szukamy atrybutu Picture Exchange Sync State
  5. Picture Exchange Sync State – zmieniamy na 0, kasujemy zdjęcie i zapisujemy
  6. Picture Exchange Sync State – ustawiamy na 1, zapisujemy i czekamy na wynik

Warto jeszcze pamiętać o jednej rzeczy, która bardzo istotnie wpływa na dostępne rozwiązania. Otóż zgodnie Technetem atrybut thumbnailPhoto jest synchronizowany pomiędzy Azure AD i Exchange Online tylko raz! Wszystkie późniejsze zmiany w naszym lokalnym AD nie są przesyłane do Exchange Online.

No cóż pozostaje nam tylko PowerShell.

Łączymy się z Exchange online:

[sourcecode language="ps"]
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session
[/sourcecode]

Żeby zmienić zdjęcie użytkownika Office 365 w Exchange możemy skorzystać z polecenia (za Technetem):

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

Niestety, opcja którą podaje nam Technet jest nieprecyzyjna. Jeżeli dostajecie taki błąd jak poniżej musicie zaktualizować swój skrypt.
Error on proxy command 'Set-UserPhoto -PictureData: …
’False’ to server DB5PR07MB1368.eurprd07.prod.outlook.com: Server version 15.01.0390.0000, Proxy method PSWS:
Request return error with following error message:
The remote server returned an error: (413) Request Entity Too Large…
+ CategoryInfo : NotSpecified: (:) [Set-UserPhoto], CmdletProxyException
+ FullyQualifiedErrorId : Microsoft.Exchange.Configuration.CmdletProxyException,Microsoft.Exchange.Management.RecipientTasks.SetUserPhoto
+ PSComputerName : outlook.office365.com

W Waszym zapytaniu musicie zaktualizować parametr -ConnectionUri. Jak widzicie w moim zapytaniu pojawił się fragment ?proxyMethod=RPS . Dodatkowo przed użyciem samego zdjęcia musie je zakodować do zmiennej.

[sourcecode language="ps"]
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/?proxyMethod=RPS -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -AllowClobber -WarningAction SilentlyContinue -ErrorAction SilentlyContinue
$user1 = ([Byte[]] $(Get-Content -Path C:\1\Tomek1.jpg -Encoding Byte -ReadCount 0))
set-userphoto -identity user@domain.anme -picturedata $user1
Remove-PSSession $Session
[/sourcecode]

I to tyle. Mam nadzieję, że ten krótki wpis o zdjęcie użytkownika w Office 365, pomoże Wam w rozwiązaniu potencjalnych problemów, które mogą się pojawić w trakcie integracji lokalnej usługi Active Directory i Office 365

Written by Tomasz Szulczewski

Od ponad 25 lat w różny sposób związany z IT. Ekspert cybersecurity znany jako Cybersecurity Ninja. Certyfikowany Architekt Microsoft 365. Adwokat prywatności, niedoszły dziennikarz oraz bloger.

Related Posts

Windows 365, rozwiązanie doskonałe?

Windows 365, rozwiązanie doskonałe?

Po dwóch dniach od premiery Windows 365 wersje próbne przestały być dostępne aż do odwołania. Czy to świadczy o tym, że rozwiązanie jest aż tak super, czy tylko o tym że Microsoft nie chce oddawać za darmo zbyt dużo mocy swoich komputerów? Czy to całe gadanie to tylko...

czytaj dalej
Co nowego w Microsoft 365 Family

Co nowego w Microsoft 365 Family

Microsoft 365 Family to nowa nazwa popularnego "office" dla użytkowników końcowych. Ci, którzy pracują w IT być może wiedzą, że kilka miesięcy temu Microsoft dokonał zmian w nazwach swoich produktów z linii 365, stąd również ta zmiana. Abstrahując od zmiany nazwy...

czytaj dalej

0 komentarzy