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:
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:
Poklikejte na zobrazované jméno uživatele.
V podokně zobrazení vlastností uživatele vyberte podrobnosti.
V zobrazení podrobností vyberte další podrobnosti.
Posuňte se, dokud nenajdete nadpis Země nebo oblast:
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:
- 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).
- 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:
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:
- 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).
- Zakažte účastníkům možnost zaznamenávat schůzky ($False AllowConferenceRecording).
- 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:
Vyberte adresu URL webu.
V poli vlastností kolekce webů vyberte odkaz Adresa webu a otevřete tak web.
Na webu vyberte Sdílet.
V dialogovém okně Sdílet vyberte odkaz, který zobrazuje všechny uživatele, kteří mají oprávnění k webu:
V dialogovém okně Sdíleno s vyberte Upřesnit.
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:
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:
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ů:
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:
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í:
- 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).
- Spusťte smyčku, která poběží přes všechny uživatele v proměnné $x (foreach ($i v $x)).
- 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).
- 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).
- Definujte proměnnou s názvem $y a uložte do ní informace o Online Skypu pro firmy ($y = Get-CsOnlineUser -Identity $i.UserPrincipalName).
- 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).
- 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