GUI jest dobre do pojedynczych zadan. Ale gdy masz zmienic ustawienie 500 skrzynek, wygenerowac raport uzycia albo zaudytowac uprawnienia โ potrzebujesz automatyzacji. Graph i PowerShell to codzienne narzedzia dojrzalego admina M365.
Microsoft Graph โ jedno API do wszystkiego
**Microsoft Graph** to zunifikowane REST API do calego M365 (uzytkownicy, grupy, poczta, Teams, urzadzenia, security). Dostep: **Microsoft Graph PowerShell SDK**, bezposrednie REST albo Graph Explorer do testow. Uprawnienia nadaje sie jako **scopes** (delegated = w imieniu usera; application = jako aplikacja/daemon).
# Microsoft Graph PowerShell โ przyklad operacji masowej
Connect-MgGraph -Scopes 'User.ReadWrite.All','Group.ReadWrite.All'
# Znajdz userow bez MFA-capable methods i wypisz
Get-MgUser -All -Property displayName,userPrincipalName |
Where-Object { $_.AccountEnabled } |
Select-Object DisplayName, UserPrincipalName
# Dodaj wszystkich z dzialu do grupy (licencjonowanie oparte na grupach)
$g = Get-MgGroup -Filter "displayName eq 'Dzial IT'"
Get-MgUser -Filter "department eq 'IT'" -All |
ForEach-Object { New-MgGroupMember -GroupId $g.Id -DirectoryObjectId $_.Id }
Exchange Online PowerShell
Wiele operacji poczty istnieje TYLKO w PowerShell (albo jest tam wygodniejsze): masowe uprawnienia, reguly transportu, message trace skryptowy, ustawienia skrzynek.
Connect-ExchangeOnline -UserPrincipalName admin@firma.com
# Nadaj Send As do wspoldzielonej skrzynki
Add-RecipientPermission info@firma.com -Trustee jan@firma.com -AccessRights SendAs
# Znajdz, gdzie utknal mail (diagnoza dostarczenia)
Get-MessageTrace -SenderAddress jan@firma.com -StartDate (Get-Date).AddDays(-2) -EndDate (Get-Date)
# Zamien skrzynke usera na wspoldzielona (po odejsciu pracownika)
Set-Mailbox jan@firma.com -Type Shared
Service Health, Message Center, Advisories
| Zrodlo | Odpowiada na pytanie |
|---|---|
| Service Health | Czy usluga MA AWARIE TERAZ? (incydenty i statusy na zywo) |
| Message Center | Co sie ZMIENI? (nadchodzace zmiany, wycofania, roadmap dla tenanta) |
| Advisories | Degradacja/ostrzezenia niebฤdace pelna awaria |
| Service Health API / Graph | Programowe monitorowanie stanu do wlasnych alertow |
Raportowanie uzycia i higiena tenanta
- **Usage reports** (M365 admin center) โ aktywnosc Teams/Exchange/SharePoint, adopcja, licencje niewykorzystane.
- **Secure Score** โ mierzalny wskaznik postury bezpieczenstwa + rekomendacje.
- **Przeglad nieuzywanych licencji** โ realna oszczednosc (odbierz i realokuj).
- **Higiena tozsamosci** โ konta bez MFA, stale role admin, wygasle gosc B2B, martwe grupy/Teamy (lifecycle policy).
Change management w tenancie
- Sledz Message Center i planuj wplyw nadchodzacych zmian.
- Testuj zmiany na **pilotowej grupie** (targeted release) przed calym tenantem.
- Dokumentuj konfiguracje (as-built) i wersjonuj skrypty administracyjne.
- Ustaw alerty (Service Health, Secure Score, koszt) zamiast reagowac po fakcie.