← Wszystkie rozwiązania
Produkt gotowy

Guest Account Cleanup

Konta gościnne żyją dłużej niż projekty, do których zostały zaproszone. To narzędzie desktopowe znajduje je w Twoim tenancie Microsoft Entra ID i wycofuje w kontrolowanej kolejności — skan, przegląd, blokada, okres karencji, usunięcie.

Główne okno Guest Account Cleanup: kafelki dashboardu per status, tabela kont gościnnych z kolorowymi statusami, przyciski akcji i log działań
Całe narzędzie to jedno okno: wynik skanu, kafelki per status, filtry, tabela kont i log działań. Nazwy kont i UPN-y są zamazane.

Celowo nadzorowane, nie w pełni automatyczne

Pięć etapów, a to Ty przenosisz konta między nimi.

1

Skan

Pobiera wszystkie konta Guest z Entra ID przez Microsoft Graph i analizuje aktywność logowania.

2

Przegląd

Sortowalna tabela z kafelkami dashboardu per status, wyszukiwanie po nazwie, UPN lub grupie i filtry.

3

Blokada

Zaznaczone konta zostają wyłączone (accountEnabled = false), a data blokady zapisana.

4

Karencja

Nic nie kwalifikuje się do usunięcia, dopóki nie minie ustawiona liczba dni. Domyślnie 30.

5

Usunięcie

Konta po okresie karencji można usunąć. Entra trzyma je w koszu przez 30 dni, więc pomyłkę da się cofnąć.

Dlaczego nie w pełni automatycznie? Gość, który nie logował się rok, nie jest automatycznie gościem, który już nie potrzebuje dostępu — audytorzy i kontrahenci korzystają z dostępu rzadko, ale celowo. Dodatkowo pole signInActivity z Microsoft Graph bywa niedostępne lub niepełne w zależności od licencjonowania (pełna historia logowań wymaga Entra ID P1/P2) oraz retencji danych.

Dlatego raport nigdy nie działa sam: każda blokada i każde usunięcie wymaga zaznaczenia kont w tabeli i potwierdzenia w okienku dialogowym.

Chcesz najpierw poznać samo rozumowanie? W poradniku o tym, jak znaleźć nieaktywne konta Guest w Entra ID, opisujemy podejście przez czysty Graph i decyzje, które trzeba przy tym podjąć.

Nic się nie zmienia bez Twojego potwierdzenia

Usunięcie niewłaściwego konta gościnnego jest kosztowne. Każda z tych warstw istnieje, żeby to utrudnić.

Tryb próbny domyślnie włączony

Blokada, odblokowanie i usunięcie są tylko symulowane i zapisywane w logu. Przejście na tryb na żywo wymaga odznaczenia pola i przeczytania czerwonego ostrzeżenia TRYB NA ŻYWO.

Potwierdzenie z listą

Każda realna akcja otwiera okno z listą kont, których dotyczy. W całym narzędziu nie ma skrótu „zastosuj do wszystkich”.

🛡

Reguły wykluczeń

Konto jest pomijane, jeśli należy do Twojej grupy wykluczeń albo ma ustawiony atrybut wykluczenia (domyślnie extensionAttribute15 = DoNotDelete).

Soft-delete w Entra

Usunięcie konta w Entra ID to soft-delete — konto trafia do kosza na 30 dni i można je odzyskać z portalu lub PowerShella.

Odblokowanie jednym kliknięciem

Zablokowałeś za szybko? Zaznacz konta i odblokuj — ta sama tabela, to samo okno potwierdzenia, bez czekania.

📋

Log i eksport CSV

Każda operacja jest zapisana w logu ze znacznikiem czasu, a każdy skan można wyeksportować do CSV — na drugą opinię albo do celów audytowych.

Dziewięć statusów, każdy z jedną zalecaną akcją

Po skanie każdy gość ma dokładnie jeden status, oznaczony kolorem w tabeli. Kliknięcie kafelka dashboardu filtruje do niego.

  • Aktywne Konto aktywne, logowało się w ciągu progu nieaktywności, przypisane do grup.
  • Aktywne — bez grupy Konto aktywne, ale przypisane wyłącznie do domyślnej grupy All Guest Users.
  • Do zablokowania Konto nieaktywne dłużej niż ustawiony próg — zalecana blokada.
  • Zablokowane — w karencji Konto zablokowane, ale nie minął jeszcze okres karencji.
  • Zablokowane — data nieznana Konto wyłączone, ale nie wiadomo od kiedy — zablokowane poza aplikacją lub na innym komputerze. Nie kwalifikuje się do usunięcia, wymaga ręcznej weryfikacji.
  • Brak danych o grupach Nie udało się pobrać listy grup dla tego konta. To nie znaczy, że konto jest bez grup — po prostu nie wiadomo. Wymaga ponowienia skanu przed decyzją.
  • Do usunięcia Konto zablokowane, po upływie okresu karencji — gotowe do usunięcia.
  • Wykluczone Konto chronione regułami wykluczeń — nie podlega blokowaniu ani usuwaniu.
  • Brak danych logowania Brak informacji o logowaniu w Graph — może wynikać z braku licencji Entra ID P1/P2.

Szczegóły, które mają znaczenie w prawdziwym tenancie

Progi należą do Ciebie

Próg nieaktywności (domyślnie 180 dni) i okres karencji przed usunięciem (domyślnie 30 dni) to ustawienia w GUI, a nie zaszyte na sztywno założenia.

Gdzie mieszka data blokady

Entra ID nie przechowuje informacji, kiedy konto zostało wyłączone. Wybierasz: lokalny plik stanu albo atrybut rozszerzenia zapisywany na samym koncie gościa — ta druga opcja przenosi się między administratorami i komputerami.

Pomyślane o dużych tenantach

Członkostwa w grupach pobierane są paczkami po 20 gości na zapytanie Graph. Zmierzone na 454 kontach: 65,7 s do 8,2 s w porównaniu z jednym zapytaniem na gościa.

Interfejs polski i angielski

Język przełączasz w nagłówku, bez restartu aplikacji. Wybór jest pamiętany przy kolejnym uruchomieniu.

Dane wspólne, nie w profilu

Logi, raporty, ustawienia i stan blokad leżą w ProgramData, więc każdy administrator na danej maszynie pracuje na tej samej historii.

Opcjonalny raport cykliczny

Skrypt tylko do odczytu może generować raport CSV z Harmonogramu zadań. Nigdy nie blokuje i nigdy nie usuwa kont — wyłącznie raportuje.

Co jest potrzebne do uruchomienia

Środowisko
System operacyjny Windows 10 / Windows 11 (wymagany .NET Framework 4.8)
PowerShell PowerShell 5.1 (wbudowany w Windows) lub PowerShell 7+
Moduły Graph Microsoft.Graph.Authentication, Microsoft.Graph.Users, Microsoft.Graph.Groups — instalowane automatycznie przez instalator lub przy pierwszym uruchomieniu
Konto Administrator z uprawnieniami do zarządzania kontami gościnnymi w Entra ID
Licencja Plik license.lic dostarczany przez Opsidian
Uprawnienia Microsoft Graph (delegowane)
User.Read.All Odczyt kont gościnnych, ich atrybutów i pola signInActivity
User.ReadWrite.All Blokada (accountEnabled = false), odblokowanie i usuwanie kont
AuditLog.Read.All Dostęp do signInActivity — daty ostatniego logowania
Group.Read.All Odczyt członkostw w grupach i rozwiązanie nazwy grupy wykluczeń
RoleManagement.Read.Directory Wykrycie gości z przypisanymi rolami administracyjnymi

Narzędzie loguje się interaktywnie przez Connect-MgGraph. Przy pierwszym uruchomieniu te uprawnienia wymagają zgody administratora, jeśli tenant tego wymaga.

Czego to narzędzie nie robi

Instalujesz program, który potrafi wyłączać i usuwać konta w Twoim katalogu. Oto dokładnie, jak daleko sięga.

Działa na Twojej maszynie

Nie ma backendu, konta w Opsidian ani komponentu chmurowego. To aplikacja desktopowa, a jedyną usługą, z którą rozmawia, jest Microsoft Graph — w Twoim tenancie i Twoimi uprawnieniami.

Zero telemetrii

Nic do nas nie wraca — żadnych statystyk użycia, raportów o błędach ani danych o kontach. W kodzie narzędzia nie ma wywołania sieciowego innego niż Microsoft Graph.

Twoje logowanie, uprawnienia delegowane

Uwierzytelnianie jest interaktywne, przez Connect-MgGraph, na Twoim koncie administratora. Nigdzie nie jest przechowywany sekret ani certyfikat aplikacji, więc narzędzie nie zadziała bez zalogowanego administratora.

Podpisany instalator

Launcher i instalator są podpisywane cyfrowo podczas budowania, więc Windows potrafi zweryfikować, że paczka pochodzi od nas i nie została po drodze zmieniona.

Licencja sprawdzana offline

Licencja to podpisany plik weryfikowany lokalnie. Żadnego serwera aktywacji, żadnego meldowania się — poza zapytaniami do Graph narzędzie nie ma po co sięgać do internetu.

Twoje dane zostają u Ciebie

Wyniki skanu, raporty CSV, logi i stan blokad zapisują się w ProgramData na maszynie, z której korzystasz. Nic nie jest wysyłane, a odinstalowanie programu zostawia te dane u Ciebie.

Chcesz zobaczyć to na swoim tenancie?

Napisz, z iloma kontami gościnnymi mniej więcej masz do czynienia, a ustawimy demo. Sam skan jest tylko do odczytu, a tryb próbny zostaje włączony.

Skontaktuj się