Ukrywanie użytkowników w Delve i SharePoint Online People Search

Data publikacji: 2021-11-20

Jeśli kiedykolwiek zastanawiałeś się w jaki sposób sprawić, żeby niechciani użytkownicy nie wyświetlali się w Delve mogę Was zapewnić, że nie jesteście sami. W ciągu ostatnich kilku tygodni otrzymałem regularnie pytania dotyczących modyfikacji i administracji aplikacji Delve.

Niestety Delve nie jest zbyt konfigurowalną usługą, a pytania dotyczące ukrywania użytkowników w inny sposób niż całkowite usunięcie zdarzają się coraz częściej, zwłaszcza gdy firma ma ścisłą politykę, definiującą którzy użytkownicy powinni być widoczni dla innych. 

Być może też trafiliście na kilka żądań nowych funkcjonalności dotyczących Delve na UserVoice. Jedno z nich było otwarte ponad 4 lata, ale nigdy nie osiągnięto progu, który mógł zmusić Microsoft do wprowadzenia żądanych funkcji. Teraz, kiedy w 2021 roku partnerstwo Microsoftu z UserVoice dobiegnie końca, trudno przewidzieć, czy ten problem zostanie ponownie poruszony na nowej platformie.

Ok, nie ma się co poddawać, spróbujmy zgłębić temat i zająć się problemem. Delve dla administratorów nie daje nam żadnych możliwości dostosowania, dlatego powinniśmy przyjrzeć się SharePointowi i atrybutom użytkowników.

Jeden ze znanych nam atrybutów, który ukrywa użytkowników i pozwala na ustawienia ich widoczności, to msExchHideFromAddressLists. Atrybut ten jest dostępny w lokalnym środowisku usługi Active Directory i musi być  zarządzany  z lokalnego środowiska. Przyjrzyjmy się temu bardziej szczegółowo.

Istnieje kilka sposobów konfiguracji tenanta w zależności od środowiska, w jakim działa Wasza organizacja. Jeśli posiadacie środowisko tylko w chmurze, co oznacza, że ​​nie jest ono połączone z lokalną domeną Active Directory i tożsamości użytkowników nie są synchronizowane, możecie mieć mały problem. Przedstawione podejście zadziała jedynie w środowiskach hybrydowych.

OK, załóżmy, że Wasza organizacja posiada już lokalne AD. Jeśli synchronizujecie tożsamości użytkowników z chmurą – świetnie, jeśli nie, możecie skorzystać z przewodnika dostępnego tutaj.  Najlepiej po przygotowaniu lokalnego Active Directory do połączenia z chmurą.

Wróćmy teraz do odpowiedniego atrybutu – msExchHideFromAddressLists. Atrybut, którym się zajmujemy, jest powiązany z serwerem Exchange i aby był dostępny, musimy albo zainstalować serwer Exchange, albo wybrać prostszą ścieżkę – rozszerzenia schematu Active Directory. Jeśli nigdy wcześniej tego nie robiłeś – nie ma się czego obawiać. Wystarczy, że wykonasz poniższe czynności:

  1. Pobierz plik ISO Exchange Server z oficjalnych źródeł Microsoft,
  2. Upewnij się, że Twoje konto ma odpowiednie uprawnienia i jest członkiem grup zabezpieczeń Schema Admins i Enterprise Admins,
  3. Zaktualizuj .Net Framework na serwerze,
  4. Zrestartuj serwer,
  5. Zamontuj obraz ISO na kontrolerze domeny. Kontroler musi być schema masterem,
  6. Otwórz wiersz polecenia jako administrator i uruchom polecenie:
<DriveLetter>:\Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareSchema
  1. Jeśli organizacja posiada tylko jeden kontroler domeny, jesteśmy ustawieni i gotowi do kolejnych kroków, jeśli nie, musisz uruchomić następujące polecenie:
<DriveLetter>:\Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareAD /OrganizationName:„<OrgNameHere>”
  1. Poczekaj na replikację i uruchom Azure AD Connect, aby skonfigurować synchronizację tożsamości.

Dlaczego warto skupić się na tym atrybucie? To akurat proste. Wartości przechowywane w msExchHideFromAddressLists są mapowane na atrybut SharePoint Online SPS-HideFromAddressLists podczas procesu synchronizacji katalogów za pośrednictwem Azure AD Connect i właśnie tego chcemy. Aplikacja Delve jest ustawiona na automatyczne wykluczanie i filtrowanie użytkowników z ustawieniem wartości SPS-HideFromAddressLists na true.

Po wykonaniu poprzednich kroków możemy śmiało ustawić odpowiednie wartości atrybutu. Jak widać, w moim labie jest kilku użytkowników. Skonfigurowałem Azure AD Connect, aby zsynchronizować jednostkę organizacyjną O365-synced z chmurą:

Synchronizowani użytkownicy

Przy domyślnej konfiguracji użytkownicy są widoczni w aplikacji Delve:

Widoczność w Delve

Ustawmy wymagany atrybut na TRUE:

msExchHideFromAddressLists ustawiony na TRUE

UWAGA:
Jeśli atrybut nie jest propagowany do usługi Azure AD, może być konieczne uzupełnienie wartości  atrybutu mailNickname. Jest to częsty problem podczas pracy bez serwera Exchange i warto mieć go na uwadze.

Po zmianie atrybutów użytkownika musimy poczekać na crawl i ponowne indeksowanie zawartości przez SharePointa. Możemy poświęcić ten czas na usunięcie użytkownika z widoku organizacji w aplikacji Delve i w całym tenancie Microsoft 365. Jeśli pominiemy tę część, użytkownicy będą mogli zostać odnalezieni za pomocą tego widoku. Po ponownym indeksowaniu wyniki powinny wyglądać podobnie do tego:

Gdy klasyczne Witryny były powszechne w SharePoint Online, należało podjąć dodatkowe kroki w celu interakcji z wyszukiwarką osób w SharePoint’cie. Obecnie nie ma Witryny wyszukiwania przeznaczonej dla Użytkowników i tutaj kończy się nasza zabawa. SPS-HideFromAddressLists jest uwzględniany przez SharePointową wyszukiwarkę osób i nie są wymagane żadne dodatkowe kroki.

Jeśli nadal macie dostęp do starej strony wyników wyszukiwania użytkowników, zmiana kwerendy wyszukiwania będzie konieczna. Aby sprawdzić czy musicie wykonać dodatkowe działania, możecie przejść do:

https://<nazwa_tenanta>.sharepoint.com/search/Pages/peopleresults.aspx 

Jeśli udało Ci się uzyskać dostęp do strony, wykonaj poniższe czynności:

  1. Otwórz edycję strony wyników wyszukiwania
  2. Przejdź do edycji Web Partu wyników wyszukiwania osób
  3. Przejdź do zmiany kwerendy
  4. Zmień tekst zapytania z:
{searchboxquery} 

na:

{searchboxquery} -"SPS-HideFromAddressLists":1

UWAGA:
Upewnij się, że używasz cudzysłowów!

  1. Zastosuj zmiany w Web Part’cie
  2. Wpisz zmiany na stronie
  3. Opublikuj zmiany

Gotowe!