Sdílet prostřednictvím


Proč potřebujete používat PowerShell pro Microsoft 365

Tento článek se vztahuje na Microsoft 365 Enterprise i Office 365 Enterprise.

Pomocí Centra pro správu Microsoftu 365 můžete spravovat uživatelské účty a licence Microsoftu 365. Můžete také spravovat služby Microsoftu 365, jako je Exchange Online, Teams a SharePoint. Pokud místo toho ke správě těchto služeb použijete PowerShell, můžete a využít prostředí příkazového řádku a skriptovacího jazyka pro rychlost, automatizaci a další funkce.

Poznámka

Modul Azure Active Directory je nahrazován sadou Microsoft Graph PowerShell SDK. Pro přístup ke všem rozhraním Microsoft Graph API můžete použít sadu Microsoft Graph PowerShell SDK. Další informace najdete v tématu Začínáme se sadou Microsoft Graph PowerShell SDK. Některé příkazy PowerShellu pro Microsoft 365 v tomto článku byly aktualizovány tak, aby používaly Microsoft Graph PowerShell.

V tomto článku se dozvíte, jak pomocí PowerShellu spravovat Microsoft 365:

  • Zobrazit další informace, které se nezobrazují v Centru pro správu Microsoftu 365

  • Konfigurace funkcí a nastavení je možná jenom pomocí PowerShellu

  • Provádění hromadných operací

  • Filtrování dat

  • Tisk nebo uložení dat

  • Správa napříč službami

Mějte na paměti, že PowerShell pro Microsoft 365 je sada modulů pro Windows PowerShell, což je prostředí příkazového řádku pro služby a platformy windows. Toto prostředí vytvoří jazyk příkazového prostředí, který lze rozšířit o další moduly. Poskytuje způsob, jak spouštět jednoduché nebo složité příkazy nebo skripty. Například po instalaci modulů PowerShellu pro Microsoft 365 a připojení k předplatnému Microsoft 365 můžete spuštěním následujícího příkazu zobrazit seznam všech poštovních schránek uživatelů pro Microsoft Exchange Online:

Get-Mailbox

Seznam poštovních schránek můžete získat také pomocí Centra pro správu Microsoftu 365, ale spočítat položky ve všech seznamech pro všechny weby pro všechny vaše webové aplikace není snadné.

PowerShell pro Microsoft 365 je navržený tak, aby vám pomohl spravovat Microsoft 365, a nenahrazovat Centrum pro správu Microsoftu 365. Správci musí být schopni používat PowerShell pro Microsoft 365, protože existují některé konfigurační postupy, které je možné provádět pouze prostřednictvím PowerShellu pro příkazy Microsoftu 365. V těchto případech potřebujete vědět, jak:

  • Nainstalujte moduly PowerShellu pro Microsoft 365 (pouze jednou pro každý počítač správce).

  • Připojte se ke svému předplatnému Microsoftu 365 (jednou pro každou relaci PowerShellu).

  • Shromážděte informace potřebné ke spuštění požadovaných příkazů PowerShellu pro Microsoft 365.

  • Spusťte příkazy PowerShellu pro Microsoft 365.

Až se naučíte tyto základní dovednosti, nemusíte pomocí příkazu Get-Mailbox vypisovat uživatele poštovní schránky. Nemusíte také rozumět tomu, jak vytvořit nový příkaz, jako je výše uvedený příkaz, abyste spočítali všechny položky ve všech seznamech pro všechny weby pro všechny webové aplikace. Microsoft a komunita správců vám s těmito úkoly může podle potřeby pomoct.

PowerShell pro Microsoft 365 může odhalit informace, které se v Centru pro správu Microsoftu 365 nezobrazují

Centrum pro správu Microsoftu 365 zobrazuje spoustu užitečných informací, ale nezobrazuje všechny možné informace, které Microsoft 365 ukládá o uživatelích, licencích, poštovních schránkách a webech. Tady je příklad pro uživatele a skupiny v Centru pro správu Microsoftu 365:

Příklad zobrazení uživatelů a skupin v Centru pro správu Microsoftu 365

Toto zobrazení poskytuje informace, které potřebujete v mnoha případech. Někdy ale potřebujete víc. Například licencování Microsoftu 365 (a funkce Microsoftu 365 dostupné uživateli) závisí částečně na zeměpisné poloze uživatele. Zásady a funkce, které můžete rozšířit na uživatele, který žije ve Spojených státech, nemusí být stejné jako zásady a funkce, které můžete rozšířit na uživatele v Indii nebo Belgii. Podle těchto kroků v Centru pro správu Microsoftu 365 určete zeměpisnou polohu uživatele:

  1. Poklikejte na zobrazované jméno uživatele.

  2. V podokně zobrazení vlastností uživatele vyberte podrobnosti.

  3. V zobrazení podrobností vyberte další podrobnosti.

  4. Posuňte se, dokud nenajdete nadpis Země nebo oblast:

    Příklad informací o oblasti pro uživatele v Centru pro správu Microsoftu 365

  5. Napište zobrazované jméno a umístění uživatele na papír nebo ho zkopírujte a vložte do Poznámkového bloku.

Tento postup je nutné zopakovat pro každého uživatele. Pokud máte mnoho uživatelů, může být tento proces zdlouhavý. Pomocí PowerShellu můžete tyto informace zobrazit pro všechny uživatele pomocí následujících příkazů.

Poznámka

Modul Azure Active Directory je nahrazován sadou Microsoft Graph PowerShell SDK. Pro přístup ke všem rozhraním Microsoft Graph API můžete použít sadu Microsoft Graph PowerShell SDK. Další informace najdete v tématu Začínáme se sadou Microsoft Graph PowerShell SDK.

Nejprve se k vašemu tenantovi Microsoftu 365 připojte pomocí účtu správce Microsoft Entra DC nebo správce cloudových aplikací.

Získání informací pro uživatele vyžaduje obor oprávnění User.ReadBasic.All nebo jedno z dalších oprávnění uvedených na stránce s referenčními informacemi o přiřazení licence rozhraní Graph API.

Ke čtení licencí dostupných v tenantovi se vyžaduje obor oprávnění Organization.Read.All.

Poznámka

Moduly PowerShellu Azure AD a MSOnline jsou od 30. března 2024 zastaralé. Další informace najdete v aktualizaci o vyřazení z provozu. Po tomto datu se podpora těchto modulů omezí na pomoc s migrací na sadu Microsoft Graph PowerShell SDK a opravy zabezpečení. Zastaralé moduly budou fungovat až do 30. března 2025.

Pro interakci s ID Microsoft Entra (dříve Azure AD) doporučujeme migrovat na Microsoft Graph PowerShell . Běžné dotazy k migraci najdete v nejčastějších dotazech k migraci. Poznámka: Po 30. červnu 2024 může dojít k přerušení verze 1.0.x nástroje MSOnline.

Connect-MgGraph -Scopes "User.ReadBasic.All"
Get-MgUser -All -Property DisplayName, UsageLocation | Select DisplayName, UsageLocation

Tady je příklad výsledků:

DisplayName                               UsageLocation
-----------                               -------------
Bonnie Kearney                            GB
Fabrice Canel                             BR
Brian Johnson (TAILSPIN)                  US
Anne Wallace                              US
Alex Darrow                               US
David Longmuir                            BR

Interpretace tohoto příkazu PowerShellu je: Získejte všechny uživatele v aktuálním předplatném Microsoft 365 (Get-MgUser), ale zobrazte jenom jméno a umístění pro každého uživatele (vyberte DisplayName, UsageLocation).

Vzhledem k tomu, že PowerShell pro Microsoft 365 podporuje jazyk příkazového prostředí, můžete s informacemi získanými příkazem Get-MgUser dále manipulovat. Možná byste například chtěli tyto uživatele seřadit podle jejich umístění, seskupit všechny brazilské uživatele dohromady, všechny uživatele ze Spojených států amerických a tak dále. Tady je příkaz:

Get-MgUser -All -Property DisplayName, UsageLocation | Select DisplayName, UsageLocation | Sort UsageLocation, DisplayName

Tady je příklad výsledků:

DisplayName                                 UsageLocation
-----------                                 -------------
David Longmuir                              BR
Fabrice Canel                               BR
Bonnie Kearney                              GB
Alex Darrow                                 US
Anne Wallace                                US
Brian Johnson (TAILSPIN)                    US

Interpretace tohoto příkazu PowerShellu je následující: Získejte všechny uživatele v aktuálním předplatném Microsoft 365, ale zobrazte jenom jméno a umístění pro každého uživatele a seřaďte je nejprve podle jejich umístění a potom podle jejich jména (Sort UsageLocation, DisplayName).

Můžete také použít další filtrování. Pokud například chcete zobrazit pouze informace o uživatelích se sídlem v Brazílii, použijte tento příkaz:

Get-MgUser -All -Property DisplayName, Country | Where-Object {$_.Country -eq "BR"} | Select DisplayName, Country 

Tady je příklad výsledků:

DisplayName                                           UsageLocation
-----------                                           -------------
David Longmuir                                        BR
Fabrice Canel                                         BR

Interpretace tohoto příkazu PowerShellu je: Získejte všechny uživatele v aktuálním předplatném Microsoft 365, jejichž umístění je Brazílie (kde {$_. UsageLocation -eq "BR"}) a pak zobrazí jméno a umístění pro každého uživatele.

Poznámka o velkých doménách

Pokud máte velkou doménu s desítkami tisíc uživatelů, může vyzkoušení některých příkladů, které uvádíme v tomto článku, vést k omezování. Na základě faktorů, jako je výpočetní výkon a dostupná šířka pásma sítě, se toho možná najednou snažíte udělat příliš mnoho. Velké organizace můžou chtít některé z těchto operací PowerShellu rozdělit na dva příkazy.

Například následující příkaz vrátí všechny uživatelské účty a zobrazí název a umístění pro každý z nich:

Get-MgUser -All | Select DisplayName, UsageLocation

To funguje skvěle pro menší domény. Ve velké organizaci ale můžete chtít tuto operaci rozdělit na dva příkazy: jeden příkaz pro uložení informací o uživatelském účtu do proměnné a druhý pro zobrazení potřebných informací. Tady je příklad:

$x = Get-MgUser -All -Property DisplayName, UsageLocation
$x | Select DisplayName, UsageLocation

Tato sada příkazů PowerShellu se interpretuje takto:

  1. Získejte všechny uživatele v aktuálním předplatném Microsoft 365 a uložte informace do proměnné s názvem $x ($x = Get-MgUser).
  2. Zobrazí obsah proměnné $x, ale zahrne jenom jméno a umístění každého uživatele ($x | Vyberte DisplayName, UsageLocation).

Microsoft 365 obsahuje funkce, které můžete nakonfigurovat jenom pomocí PowerShellu pro Microsoft 365.

Centrum pro správu Microsoftu 365 má poskytovat přístup k běžným a užitečným úlohách správy, které platí pro většinu prostředí. Jinými slovy, Centrum pro správu Microsoftu 365 bylo navrženo tak, aby typický správce mohl provádět nejběžnější úlohy správy. Existují ale některé úkoly, které se v Centru pro správu dělat nedají.

Například Centrum pro správu Online Skypu pro firmy nabízí několik možností pro vytváření vlastních pozvánek na schůzky:

Příklad zobrazení vlastních pozvánek na schůzky v Centru pro správu Online Skypu pro firmy

S těmito nastaveními můžete do pozvánek na schůzky přidat dotek přizpůsobení a profesionality. Nastavení konfigurace schůzek má ale víc než pouhé vytváření vlastních pozvánek na schůzku. Schůzky například ve výchozím nastavení umožňují:

  • Anonymní uživatelé získají automatický vstup na každou schůzku.

  • Účastníci pro záznam schůzky.

  • Všichni uživatelé z vaší organizace budou při připojení ke schůzce označeni jako prezentující.

Tato nastavení nejsou dostupná v Centru pro správu Online Skypu pro firmy. Můžete je ovládat z PowerShellu pro Microsoft 365. Tady je příkaz, který zakáže tato tři nastavení:

Set-CsMeetingConfiguration -AdmitAnonymousUsersByDefault $False -AllowConferenceRecording $False -DesignateAsPresenter "None"

Poznámka

Pokud chcete tento příkaz spustit, musíte nainstalovat modul PowerShellu Online Skypu pro firmy.

Tento příkaz PowerShellu se interpretuje takto:

  1. V nastavení pro nové schůzky Online Skypu pro firmy (Set-CsMeetingConfiguration) zakažte povolení anonymním uživatelům získat automatický přístup ke schůzkám (-AdmitAnonymousUsersByDefault $False).
  2. Zakažte účastníkům možnost zaznamenávat schůzky ($False AllowConferenceRecording).
  3. Neoznačujte všechny uživatele z vaší organizace jako prezentující (-DesignateAsPresenter "None").

Pokud chcete obnovit výchozí nastavení (povolit možnosti), spusťte tento příkaz:

Set-CsMeetingConfiguration -AdmitAnonymousUsersByDefault $True -AllowConferenceRecording $True -DesignateAsPresenter "Company"

Existují i další podobné scénáře, a proto by správci měli vědět, jak spouštět příkazy PowerShellu pro Microsoft 365.

PowerShell pro Microsoft 365 je skvělý pro hromadné operace

Vizuální rozhraní, jako je Centrum pro správu Microsoftu 365, jsou nejcennější, když máte k dispozici jednu operaci. Pokud například potřebujete zakázat jeden uživatelský účet, můžete k rychlému vyhledání a zrušení zaškrtnutí políčka použít Centrum pro správu. To může být jednodušší než provedení podobné operace v PowerShellu.

Pokud ale potřebujete změnit mnoho věcí nebo některé vybrané věci v rámci velké sady jiných věcí, centrum pro správu Microsoftu 365 nemusí být nejlepším nástrojem. Řekněme například, že musíte změnit předponu na tisících telefonních čísel nebo odebrat konkrétního uživatele Kena Myera ze všech sharepointových webů. Jak byste to udělali v Centru pro správu Microsoftu 365?

V posledním příkladu řekněme, že máte několik stovek sharepointových webů a nevíte, kterých je Ken Meyer členem. Museli byste začít v Centru pro správu Microsoftu 365 a pak provést tento postup pro každou lokalitu:

  1. Vyberte adresu URL webu.

  2. V poli vlastností kolekce webů vyberte odkaz Adresa webu a otevřete tak web.

  3. Na webu vyberte Sdílet.

  4. V dialogovém okně Sdílet vyberte odkaz, který zobrazuje všechny uživatele, kteří mají oprávnění k webu:

    Příklad zobrazení členů sharepointového webu v Centru pro správu SharePointu

  5. V dialogovém okně Sdíleno s vyberte Upřesnit.

  6. Posuňte se v seznamu uživatelů dolů, vyhledejte a vyberte Ken Myer (za předpokladu, že má oprávnění k webu) a pak vyberte Odebrat uživatelská oprávnění.

To by trvalo dlouhou dobu pro několik stovek webů.

Alternativou je spuštěním následujícího příkazu v PowerShellu pro Microsoft 365 odebrat Kena Myera ze všech vašich webů:

Get-SPOSite | ForEach {Remove-SPOUser -Site $_.Url -LoginName "kenmyer@litwareinc.com"}

Poznámka

Tento příkaz vyžaduje, abyste nainstalovali modul PowerShellu pro SharePoint.

Tento příkaz PowerShellu se interpretuje takto: Získejte všechny sharepointové weby v aktuálním předplatném Microsoftu 365 (Get-SPOSite) a pro každý web odeberte Ken Meyer ze seznamu uživatelů, kteří k němu mají přístup (ForEach {Remove-SPOUser -Site $_. Url -LoginName "kenmyer@litwareinc.com"}).

Říkáme Microsoftu 365, aby odebral Kena Meyera ze všech webů, včetně těch, ke kterým nemá přístup. Výsledky tedy zobrazí chyby u těch webů, ke kterým nemá přístup. Můžeme použít další podmínku na tomto příkazu k odebrání Kena Meyera pouze z webů, které ho mají v seznamu přihlášení. Ale chyby, které jsou vráceny, nezpůsobí žádné škody na samotných webech. Spuštění tohoto příkazu na stovkách webů může trvat několik minut než hodiny práce v Centru pro správu Microsoftu 365.

Tady je další příklad hromadné operace. Pomocí tohoto příkazu přidejte bonnie Kearney, novou správce SharePointu, na všechny weby v organizaci:

Get-SPOSite | ForEach {Add-SPOUser -Site $_.Url -LoginName "bkearney@litwareinc.com" -Group "Members"}

Tento příkaz PowerShellu se interpretuje takto: Získejte všechny sharepointové weby v aktuálním předplatném Microsoftu 365 a pro každý web povolte přístup Bonnie Kearney přidáním jejího přihlašovacího jména do skupiny Členové webu (ForEach {Add-SPOUser -Site $_. Url -LoginName "bkearney@litwareinc.com" -Group "Members"}).

PowerShell pro Microsoft 365 skvěle filtruje data.

Centrum pro správu Microsoftu 365 nabízí několik způsobů, jak filtrovat data a snadno najít cílovou podmnožinu informací. Exchange například usnadňuje filtrování prakticky jakékoli vlastnosti poštovní schránky uživatele. Tady je například seznam poštovních schránek pro všechny uživatele, kteří žijí ve městě Bloomington:

Příklad rozšířeného vyhledávání seznamu poštovních schránek pro všechny uživatele, kteří žijí ve městě Bloomington, v Centru pro správu Microsoftu 365.

Centrum pro správu Exchange také umožňuje kombinovat kritéria filtru. Můžete například najít poštovní schránky pro všechny lidi, kteří žijí v Bloomingtonu a pracují ve finančním oddělení.

Existují ale omezení toho, co můžete dělat v Centru pro správu Exchange. Nemohli jste například tak snadno najít poštovní schránky lidí, kteří žijí v Bloomingtonu nebo San Diegu, nebo poštovní schránky pro všechny lidi, kteří v Bloomingtonu nežijí.

Pomocí následujícího příkazu PowerShellu pro Microsoft 365 můžete získat seznam poštovních schránek pro všechny lidi, kteří žijí v Bloomingtonu nebo San Diegu:

Get-User | Where {$_.RecipientTypeDetails -eq "UserMailbox" -and ($_.City -eq "San Diego" -or $_.City -eq "Bloomington")} | Select DisplayName, City

Tady je příklad výsledků:

DisplayName                              City
-----------                              ----
Alex Darrow                              San Diego
Bonnie Kearney                           San Diego
Julian Isla                              Bloomington
Rob Young                                Bloomington

Interpretace tohoto příkazu PowerShellu je: Získejte všechny uživatele v aktuálním předplatném Microsoft 365, kteří mají poštovní schránku ve městě San Diego nebo Bloomington (Kde {$_. RecipientTypeDetails -eq "UserMailbox" -and ($_. City -eq "San Diego" -nebo $_. City -eq "Bloomington")}) a pak zobrazte název a město pro každou z nich (vyberte DisplayName, City).

A tady je příkaz pro výpis všech poštovních schránek pro lidi, kteří žijí kdekoli kromě Bloomingtonu:

Get-User | Where {$_.RecipientTypeDetails -eq "UserMailbox" -and $_.City -ne "Bloomington"} | Select DisplayName, City

Tady je příklad výsledků:

DisplayName                               City
-----------                               ----
MOD Administrator                         Redmond
Alex Darrow                               San Diego
Allie Bellew                              Bellevue
Anne Wallace                              Louisville
Aziz Hassouneh                            Cairo
Belinda Newman                            Charlotte
Bonnie Kearney                            San Diego
David Longmuir                            Waukesha
Denis Dehenne                             Birmingham
Garret Vargas                             Seattle
Garth Fort                                Tulsa
Janet Schorr                              Bellevue

Tento příkaz PowerShellu se interpretuje takto: Získejte všechny uživatele v aktuálním předplatném Microsoftu 365, kteří mají poštovní schránku, která není umístěná ve městě Bloomington (kde {$_. RecipientTypeDetails -eq "UserMailbox" -and $_. City -ne "Bloomington"}) a pak zobrazte název a město pro každou z nich.

Použití zástupných znaků

Ve filtrech PowerShellu můžete také použít zástupné znaky, které odpovídají části názvu. Předpokládejme například, že hledáte uživatelský účet. Všechno, co si pamatujete, je, že příjmení uživatele bylo Anderson nebo možná Henderson nebo Jorgenson.

Uživatele můžete v Centru pro správu Microsoftu 365 vyhledat pomocí vyhledávacího nástroje a provedením tří různých hledání:

  • Jedna pro Andersona

  • Jedna pro Hendersona

  • Jedna pro Jorgenson

Vzhledem k tomu, že všechna tři jména končí na "son", můžete PowerShellu říct, aby zobrazil všechny uživatele, jejichž jméno končí na "son". Tady je příkaz:

Get-User -Filter '{LastName -like "*son"}'

Interpretace tohoto příkazu PowerShellu je: Získejte všechny uživatele v aktuálním předplatném Microsoftu 365, ale použijte filtr, který obsahuje jenom uživatele, jejichž příjmení končí na "son" (-Filter '{LastName -like "*son"}"). * je zkratka pro libovolnou sadu znaků, což jsou písmena v příjmení uživatele.

PowerShell pro Microsoft 365 usnadňuje tisk nebo ukládání dat

Centrum pro správu Microsoftu 365 umožňuje zobrazit seznamy dat. Tady je příklad Centra pro správu Online Skypu pro firmy se seznamem uživatelů, kteří mají povolenou funkci Online Skypu pro firmy:

Příklad Centra pro správu Online Skypu pro firmy zobrazující seznam uživatelů, kteří mají povolenou funkci Online Skypu pro firmy.

Pokud chcete tyto informace uložit do souboru, musíte je vložit do dokumentu nebo do listu aplikace Microsoft Excel. Oba případy můžou vyžadovat další formátování. Centrum pro správu Microsoftu 365 navíc nenabízí způsob, jak zobrazený seznam vytisknout přímo.

Pomocí PowerShellu můžete naštěstí seznam nejen zobrazit, ale uložit ho do souboru, který se dá snadno importovat do Excelu. Tady je příklad příkazu pro uložení uživatelských dat Online Skypu pro firmy do souboru hodnot oddělených čárkami (CSV), který se pak dá snadno importovat jako tabulku do excelového listu:

Get-CsOnlineUser | Select DisplayName, UserPrincipalName, UsageLocation | Export-Csv -Path "C:\Logs\SfBUsers.csv" -NoTypeInformation

Tady je příklad výsledků:

Příklad tabulky importované do excelového listu pro uživatelská data Online Skypu pro firmy, která byla uložena do souboru hodnot oddělených čárkami.

Tento příkaz PowerShellu se interpretuje takto: Získejte všechny uživatele Online Skypu pro firmy v aktuálním předplatném Microsoftu 365 (Get-CsOnlineUser); získat pouze uživatelské jméno, hlavní název uživatele (UPN) a umístění (vyberte DisplayName, UserPrincipalName, UsageLocation); a pak uložte informace do souboru CSV s názvem C:\Logs\SfBUsers.csv (Export-Csv -Path "C:\Logs\SfBUsers.csv" -NoTypeInformation).

Můžete také použít možnosti pro uložení tohoto seznamu jako souboru XML nebo stránky HTML. Díky dalším příkazům PowerShellu byste ho mohli uložit přímo jako excelový soubor s libovolným vlastním formátováním.

Výstup příkazu PowerShellu, který zobrazí seznam, můžete také odeslat přímo do výchozí tiskárny ve Windows. Tady je příklad příkazu:

Get-CsOnlineUser | Select DisplayName, UserPrincipalName, UsageLocation | Out-Printer

Vytištěný dokument bude vypadat takto:

Příklad tištěného dokumentu, který byl výstupem příkazu PowerShellu odeslaného přímo na výchozí tiskárnu ve Windows.

Tento příkaz PowerShellu se interpretuje takto: Získejte všechny uživatele Online Skypu pro firmy v aktuálním předplatném Microsoftu 365; získat pouze uživatelské jméno, hlavní název uživatele (UPN) a umístění; a pak odešlete informace na výchozí tiskárnu systému Windows (Out-Printer).

Vytištěný dokument má stejné jednoduché formátování jako zobrazení v příkazovém okně PowerShellu. Pokud chcete získat kopii, stačí přidat | Odsadí tiskárnu na konec příkazu.

PowerShell pro Microsoft 365 umožňuje správu napříč serverovými produkty

Komponenty, které tvoří Microsoft 365, jsou navržené tak, aby spolupracovaly. Předpokládejme například, že do Microsoftu 365 přidáte nového uživatele a zadáte takové informace jako oddělení a telefonní číslo uživatele. Tyto informace pak budou dostupné, pokud k informacím uživatele přistupujete v některé ze služeb Microsoftu 365: Online Skypu pro firmy, Exchange nebo SharePointu.

Ale to je pro běžné informace, které zahrnují sadu produktů. Informace specifické pro konkrétní produkt, například informace o poštovní schránce Exchange uživatele, nejsou v celé sadě obvykle dostupné. Například informace o tom, jestli je poštovní schránka uživatele povolená, jsou k dispozici pouze v Centru pro správu Exchange.

Předpokládejme, že chcete vytvořit sestavu, která zobrazí následující informace pro všechny uživatele:

  • Zobrazované jméno uživatele

  • Jestli má uživatel licenci na Microsoft 365

  • Jestli je poštovní schránka Exchange uživatele povolená

  • Jestli má uživatel povolený Online Skype pro firmy

Takovou sestavu nemůžete snadno vytvořit v Centru pro správu Microsoftu 365. Místo toho byste museli vytvořit samostatný dokument pro ukládání informací, například excelový list. Pak všechna uživatelská jména a informace o licencování získáte z Centra pro správu Microsoftu 365, informace o poštovní schránce z Centra pro správu Exchange, informace o Online Skypu pro firmy z Centra pro správu Online Skypu pro firmy a pak tyto informace zkombinujte.

Alternativou je použít skript PowerShellu, který sestavu zkompiluje za vás.

Následující ukázkový skript je složitější než příkazy, které jste zatím v tomto článku viděli. Ukazuje ale potenciál použití PowerShellu k vytvoření zobrazení informací, která je obtížné získat jinak. Tady je skript pro kompilaci a zobrazení seznamu, který potřebujete:

Connect-MgGraph -Scopes "User.ReadBasic.All"
$x = Get-MgUser -All

foreach ($i in $x)
    {
      $y = Get-Mailbox -Identity $i.UserPrincipalName
      $i | Add-Member -MemberType NoteProperty -Name IsMailboxEnabled -Value $y.IsMailboxEnabled

      $y = Get-CsOnlineUser -Identity $i.UserPrincipalName
      $i | Add-Member -MemberType NoteProperty -Name EnabledForSfB -Value $y.Enabled
    }

$x | Select DisplayName, IsLicensed, IsMailboxEnabled, EnabledforSfB

Tady je příklad výsledků:

DisplayName             IsLicensed   IsMailboxEnabled   EnabledForSfB
-----------             ----------   ----------------   --------------
Bonnie Kearney          True         True               True
Fabrice Canel           True         True               True
Brian Johnson           False        True               False
Anne Wallace            True         True               True
Alex Darrow             True         True               True
David Longmuir          True         True               True
Katy Jordan             False        True               False
Molly Dempsey           False        True               False

Interpretace tohoto skriptu PowerShellu je následující:

  1. Získejte všechny uživatele v aktuálním předplatném Microsoftu 365 a uložte informace do proměnné s názvem $x ($x = Get-MgUser).
  2. Spusťte smyčku, která poběží přes všechny uživatele v proměnné $x (foreach ($i v $x)).
  3. Definujte proměnnou s názvem $y a uložte do ní informace o poštovní schránce uživatele ($y = Get-Mailbox -Identity $i.UserPrincipalName).
  4. Přidejte novou vlastnost k informacím o uživateli s názvem IsMailBoxEnabled. Nastavte ji na hodnotu vlastnosti IsMailBoxEnabled poštovní schránky uživatele ($i | Add-Member -MemberType NoteProperty -Name IsMailboxEnabled -Value $y.IsMailboxEnabled).
  5. Definujte proměnnou s názvem $y a uložte do ní informace o Online Skypu pro firmy ($y = Get-CsOnlineUser -Identity $i.UserPrincipalName).
  6. Do informací o uživateli s názvem EnabledForSfB přidejte novou vlastnost. Nastavte ho na hodnotu vlastnosti Enabled informací o Online Skypu pro firmy uživatele ($i | Add-Member -MemberType NoteProperty -Name EnabledForSfB -Value $y.Enabled).
  7. Zobrazte seznam uživatelů, ale uveďte jenom jejich jméno, informace o tom, jestli mají licenci, a dvě nové vlastnosti, které označují, jestli je jejich poštovní schránka povolená a jestli mají povolenou funkci Online Skypu pro firmy ($x | Vyberte DisplayName, IsLicensed, IsMailboxEnabled, EnabledforSfB).

Viz také

Začínáme s PowerShellem pro Microsoft 365

Správa uživatelských účtů, licencí a skupin Microsoft 365 pomocí PowerShellu

Vytváření sestav v Microsoftu 365 pomocí Windows PowerShellu