M365Con 2027 – bezpłatna konferencja online · 11–22 Jan 2027 · 120 sessions→ m365con.net

2025-12-08

Używanie Managed Identity z PowerShell dla Microsoft Graph

Używanie Managed Identity z PowerShell dla Microsoft Graph
Nadal piszesz skrypty PowerShell oparte na modułach MSOnline i AzureAD w 2025 roku? Ten odcinek wyjaśnia, dlaczego ten zestaw narzędzi jest przestarzały, i pokazuje, jak przejść na podejście API-first z czystym REST i Microsoft Graph. Omawiamy podstawowy wzorzec „token, nagłówki, wywołanie REST”, trzy praktyczne przepływy uwierzytelniania (device code, client credentials z certyfikatami oraz managed identity) oraz jedną pułapkę z audience tokenu, która psuje większość skryptów Graph. Zobaczysz, jak budować wieloplatformową automatyzację Graph, która działa poprawnie na Linuxie, w kontenerach, w GitHub Actions, Azure Functions i Azure Automation – bez kruchych zależności od modułów. Następnie stosujemy ten wzorzec w scenariuszach enterprise: czyszczenie urządzeń w Intune, onboarding tożsamości oraz wykrywanie i naprawę dryfu zgodności, wszystko z uprawnieniami Graph według zasady najmniejszych uprawnień, solidną logiką ponawiania, pomocnikami do paginacji i pełnymi ścieżkami audytu w Log Analytics. Jeśli jesteś specjalistą Azure, Intune lub M

W miarę jak firmy coraz bardziej polegają na Microsoft 365, automatyzacja zadań administracyjnych staje się niezbędna. Integracja PowerShell + Graph API pozwala zwiększyć wydajność i zaoszczędzić cenny czas. Ta potężna kombinacja udostępnia solidne możliwości zarządzania, które usprawniają działanie.

Wielu użytkowników napotyka jednak trudności. Na przykład niektóre kluczowe funkcje nie mają udokumentowanych punktów końcowych, co komplikuje automatyzację. Dodatkowo starsze interfejsy API mogą prowadzić do cichych błędów, utrudniając utrzymanie skryptów. Nie martw się! Ten wpis rozbije te złożone zagadnienia na łatwe, praktyczne kroki, prowadząc Cię przez proces z jasnymi rozwiązaniami.

Najważniejsze wnioski

  • Zintegruj PowerShell z Graph API, aby automatyzować zadania w Microsoft 365 i zwiększyć wydajność.
  • Upewnij się, że Twój system spełnia wymagania wstępne, takie jak PowerShell 7 lub nowszy oraz najnowszy moduł Microsoft Graph, aby zapewnić sprawne działanie.
  • Zrozum uprawnienia i zakresy, aby kontrolować, do czego Twoje skrypty mają dostęp w Microsoft 365, stosując zasadę najmniejszych uprawnień.
  • Zarejestruj aplikację w Azure AD, aby utworzyć bezpieczną tożsamość dla swoich skryptów, umożliwiając bezpieczny dostęp do Microsoft Graph.
  • Wybierz odpowiedni przepływ uwierzytelniania, taki jak Device Code Flow lub Managed Identity Flow, aby skutecznie zabezpieczyć tokeny dostępu.
  • Twórz poprawnie zbudowane żądania HTTP w PowerShell, aby komunikować się z Microsoft Graph API i pobierać dane.
  • Ostrożnie obsługuj błędy i limity API, aby zapewnić płynne działanie skryptów i uniknąć zakłóceń.
  • Optymalizuj skrypty, pobierając tylko wybrane właściwości i grupując żądania w paczki, aby poprawić wydajność i zmniejszyć zużycie zasobów.

Wymagania wstępne dla PowerShell + Graph API

Zanim zaczniesz automatyzować zadania Microsoft 365 za pomocą PowerShell + Graph API, musisz odpowiednio przygotować system i środowisko. Ta preparacja zapewnia płynne wykonywanie i bezpieczny dostęp do zasobów Microsoft Graph.

Instalacja modułów PowerShell

Musisz zainstalować odpowiednie moduły PowerShell, aby współpracować z Microsoft Graph API. Zestaw SDK Microsoft Graph PowerShell udostępnia wszystkie niezbędne polecenia cmdlet do tej integracji. Aby uniknąć błędów, sprawdź, czy system spełnia poniższe minimalne wymagania:

Wymaganie Opis
Wersja PowerShell Wymagany jest PowerShell w wersji 7 lub nowszej.
.NET Framework Na macOS wymagany jest .NET Framework 4.7.2 lub nowszy.
PowerShellGet Zaktualizuj PowerShellGet do najnowszej wersji.
Zasady wykonywania Ustaw zasady wykonywania na RemoteSigned lub mniej restrykcyjne.

Możesz zaktualizować PowerShellGet, uruchamiając Install-Module PowerShellGet -Force, oraz ustawić zasady wykonywania poleceniem Set-ExecutionPolicy RemoteSigned. Następnie zainstaluj moduł Microsoft Graph za pomocą:

Install-Module Microsoft.Graph -Scope CurrentUser

To polecenie pobiera najnowszą stabilną wersję modułu, umożliwiając łatwe wywoływanie punktów końcowych Microsoft Graph.

Konfiguracja środowiska Microsoft 365

Poprawna konfiguracja środowiska Microsoft 365 ma kluczowe znaczenie dla automatyzacji. Wykonaj poniższe kroki, aby zacząć:

  1. Upewnij się, że system spełnia wymagania: PowerShell 7.2 lub nowszy, .NET Framework 4.7.2 lub nowszy oraz najnowszy moduł PowerShellGet.
  2. Zainstaluj moduł Microsoft Graph PowerShell zgodnie z powyższym opisem.
  3. Połącz się z dzierżawą Microsoft 365, importując moduł i uwierzytelniając się z wymaganymi zakresami. Na przykład:
Connect-MgGraph -Scopes "User.ReadWrite.All","Directory.ReadWrite.All"

To polecenie wymaga zalogowania i przyznaje Twojej sesji uprawnienia do odczytu i zapisu danych użytkowników oraz katalogu. Zakresy możesz dostosować do potrzeb automatyzacji.

Zrozumienie uprawnień i zakresów

Uprawnienia i zakresy określają, co Twoje skrypty mogą odczytywać lub modyfikować w Microsoft 365. Microsoft Graph API stosuje dwa główne typy uprawnień:

  • Uprawnienia delegowane: Stosowane, gdy uruchamiasz skrypty jako zalogowany użytkownik. Ograniczają dostęp do danych, których użytkownik jest właścicielem lub do których ma dostęp.
  • Uprawnienia aplikacji: Pozwalają aplikacji lub skryptowi na dostęp do danych w całej organizacji bez zalogowanego użytkownika.

Typowe uprawnienia obejmują *.Read.All dla dostępu tylko do odczytu oraz *.ReadWrite.All dla pełnych możliwości odczytu i zapisu. Na przykład SecurityActions.Read.All pozwala przeglądać działania zabezpieczające, a SecurityActions.ReadWrite.All umożliwia ich modyfikację.

Uprawnienia aplikacji wymagają zgody administratora. Administrator dzierżawy musi zatwierdzić te uprawnienia, aby zapewnić bezpieczeństwo. Ponadto użytkownicy potrzebują odpowiednich ról Microsoft Entra, takich jak Security Reader, aby uzyskać dostęp do wrażliwych danych. Ten dostęp oparty na rolach zapewnia dodatkową warstwę bezpieczeństwa.

Podczas połączenia za pomocą zestawu SDK Microsoft Graph PowerShell określaj tylko te zakresy, których wymaga Twój skrypt. Ta praktyka jest zgodna z zasadą najmniejszych uprawnień i ogranicza ryzyko bezpieczeństwa. Pamiętaj, że uprawnienia przyznane Twojej aplikacji dotyczą wszystkich jej użytkowników, dlatego regularnie je przeglądaj i zarządzaj nimi.

Rozumiejąc i starannie konfigurując uprawnienia, chronisz swoje środowisko, jednocześnie umożliwiając potężną automatyzację z PowerShell + Graph API.

Tożsamość aplikacji w Azure AD

Rejestracja nowej aplikacji

Aby automatyzować zadania Microsoft 365 za pomocą PowerShell i Graph API, najpierw musisz zarejestrować aplikację w Azure Active Directory (Azure AD). Ta aplikacja działa jako tożsamość, której Twoje skrypty używają do bezpiecznego dostępu do Microsoft Graph. Wykonaj poniższe kroki, aby zarejestrować swoją aplikację:

  1. Otwórz portal Azure i przejdź do Azure Active Directory > Rejestracje aplikacji > Nowa rejestracja.
  2. Nadaj aplikacji znaczącą nazwę, na przykład „My Graph App”.
  3. Wybierz obsługiwane typy kont:
    • Dzierżawa pojedyncza: Logować się mogą tylko użytkownicy Twojej dzierżawy Azure AD.
    • Wiele dzierżaw: Logować się mogą użytkownicy z dowolnej dzierżawy Azure AD.
    • Wiele dzierżaw i konta osobiste: Obejmuje użytkowników Azure AD oraz osobiste konta Microsoft.

Apple Podcasts · Spotify · YouTube · YouTube Music

Use Managed Identity with PowerShell for Microsoft Graph (English)