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.
Celowo nadzorowane, nie w pełni automatyczne
Pięć etapów, a to Ty przenosisz konta między nimi.
Skan
Pobiera wszystkie konta Guest z Entra ID przez Microsoft Graph i analizuje aktywność logowania.
Przegląd
Sortowalna tabela z kafelkami dashboardu per status, wyszukiwanie po nazwie, UPN lub grupie i filtry.
Blokada
Zaznaczone konta zostają wyłączone (accountEnabled = false), a data blokady zapisana.
Karencja
Nic nie kwalifikuje się do usunięcia, dopóki nie minie ustawiona liczba dni. Domyślnie 30.
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
| 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 |
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ę