Dlaczego musisz używać programu PowerShell dla platformy Microsoft 365
Ten artykuł dotyczy zarówno platformy Microsoft 365 Enterprise, jak i usługi Office 365 Enterprise.
Centrum administracyjne platformy Microsoft 365 umożliwia zarządzanie kontami użytkowników i licencjami platformy Microsoft 365. Możesz również zarządzać usługami platformy Microsoft 365, takimi jak Exchange Online, Teams i SharePoint. Jeśli zamiast tego używasz programu PowerShell do zarządzania tymi usługami, możesz skorzystać ze środowiska języka wiersza polecenia i skryptów w celu zapewnienia szybkości, automatyzacji i dodatkowych możliwości.
Uwaga
Moduł usługi Azure Active Directory jest zastępowany przez zestaw Microsoft Graph PowerShell SDK. Aby uzyskać dostęp do wszystkich interfejsów API programu Microsoft Graph, możesz użyć zestawu Microsoft Graph PowerShell SDK. Aby uzyskać więcej informacji, zobacz Wprowadzenie do zestawu Microsoft Graph PowerShell SDK. Niektóre polecenia programu PowerShell dla platformy Microsoft 365 w tym artykule zostały zaktualizowane w celu korzystania z programu Microsoft Graph PowerShell.
W tym artykule pokazano, jak zarządzać platformą Microsoft 365 za pomocą programu PowerShell w następujących obszarach:
Ujawnij dodatkowe informacje, których nie widać w centrum administracyjnym platformy Microsoft 365
Konfigurowanie funkcji i ustawień jest możliwe tylko za pomocą programu PowerShell
Wykonywanie operacji zbiorczych
Filtrowanie danych
Drukowanie lub zapisywanie danych
Zarządzanie między usługami
Należy pamiętać, że program PowerShell dla platformy Microsoft 365 to zestaw modułów programu Windows PowerShell, który jest środowiskiem wiersza polecenia dla usług i platform opartych na systemie Windows. To środowisko tworzy język powłoki poleceń, który można rozszerzyć o dodatkowe moduły. Umożliwia wykonywanie prostych lub złożonych poleceń lub skryptów. Na przykład po zainstalowaniu modułów programu PowerShell dla platformy Microsoft 365 i nawiązaniu połączenia z subskrypcją platformy Microsoft 365 można uruchomić następujące polecenie, aby wyświetlić listę wszystkich skrzynek pocztowych użytkowników dla usługi Microsoft Exchange Online:
Get-Mailbox
Listę skrzynek pocztowych można również uzyskać za pomocą centrum administracyjnego platformy Microsoft 365, ale zliczanie elementów na wszystkich listach wszystkich witryn dla wszystkich aplikacji internetowych nie jest łatwe.
Program PowerShell dla platformy Microsoft 365 ma na celu ułatwienie zarządzania platformą Microsoft 365, a nie zastępowanie centrum administracyjnego platformy Microsoft 365. Administratorzy muszą mieć możliwość korzystania z programu PowerShell dla platformy Microsoft 365, ponieważ istnieją pewne procedury konfiguracji, które można wykonać tylko za pomocą programu PowerShell dla poleceń platformy Microsoft 365. W takich przypadkach musisz wiedzieć, jak:
Zainstaluj moduły programu PowerShell dla platformy Microsoft 365 (wykonywane tylko raz dla każdego komputera administratora).
Połącz się z subskrypcją platformy Microsoft 365 (jeden raz dla każdej sesji programu PowerShell).
Zbierz informacje potrzebne do uruchomienia wymaganych poleceń programu PowerShell dla platformy Microsoft 365.
Uruchom program PowerShell dla poleceń platformy Microsoft 365.
Po zapoznaniu się z tymi podstawowymi umiejętnościami nie musisz wyświetlać listy użytkowników skrzynek pocztowych przy użyciu polecenia Get-Mailbox . Nie musisz również rozumieć, jak utworzyć nowe polecenie, takie jak cytowane wcześniej polecenie, aby zliczyć wszystkie elementy na wszystkich listach dla wszystkich witryn dla wszystkich aplikacji internetowych. Firma Microsoft i społeczność administratorów mogą ci pomóc w wykonywaniu takich zadań w razie potrzeby.
Program PowerShell dla platformy Microsoft 365 może ujawnić informacje, których nie widać w centrum administracyjnym platformy Microsoft 365
Centrum administracyjne platformy Microsoft 365 wyświetla wiele przydatnych informacji, ale nie wyświetla wszystkich możliwych informacji przechowywanych przez usługę Microsoft 365 na temat użytkowników, licencji, skrzynek pocztowych i witryn. Oto przykład dla użytkowników i grup w centrum administracyjnym platformy Microsoft 365:
Ten widok zawiera informacje, które są potrzebne w wielu przypadkach. Jednak są chwile, kiedy potrzebujesz więcej. Na przykład licencjonowanie platformy Microsoft 365 (i funkcje platformy Microsoft 365 dostępne dla użytkownika) zależy częściowo od lokalizacji geograficznej użytkownika. Zasady i funkcje, które można rozszerzyć na użytkownika, który mieszka w Stanach Zjednoczonych, mogą nie być takie same jak te, które można rozszerzyć na użytkownika w Indiach lub Belgii. Wykonaj następujące kroki w centrum administracyjnym platformy Microsoft 365, aby określić lokalizację geograficzną użytkownika:
Kliknij dwukrotnie nazwę wyświetlaną użytkownika.
W okienku wyświetlania właściwości użytkownika wybierz szczegóły.
Na ekranie szczegółów wybierz dodatkowe szczegóły.
Przewiń, aż znajdziesz nagłówek Kraj lub region:
Zapisz nazwę wyświetlaną użytkownika i lokalizację na kartce papieru lub skopiuj ją i wklej do Notatnika.
Należy powtórzyć tę procedurę dla każdego użytkownika. Jeśli masz wielu użytkowników, ten proces może być żmudny. Za pomocą programu PowerShell możesz wyświetlić te informacje dla wszystkich użytkowników przy użyciu następujących poleceń.
Uwaga
Moduł usługi Azure Active Directory jest zastępowany przez zestaw Microsoft Graph PowerShell SDK. Aby uzyskać dostęp do wszystkich interfejsów API programu Microsoft Graph, możesz użyć zestawu Microsoft Graph PowerShell SDK. Aby uzyskać więcej informacji, zobacz Wprowadzenie do zestawu Microsoft Graph PowerShell SDK.
Najpierw użyj konta administratora kontrolera domeny usługi Microsoft Entra lub konta administratora aplikacji w chmurze , aby nawiązać połączenie z dzierżawą platformy Microsoft 365.
Uzyskanie informacji dla użytkownika wymaga zakresu uprawnień User.ReadBasic.All lub jednego z innych uprawnień wymienionych na stronie referencyjnej interfejsu API programu Graph "Przypisywanie licencji".
Zakres uprawnień Organization.Read.All jest wymagany do odczytu licencji dostępnych w dzierżawie.
Uwaga
Moduły azure AD i MSOnline programu PowerShell są przestarzałe od 30 marca 2024 r. Aby dowiedzieć się więcej, przeczytaj aktualizację wycofania. Po tej dacie obsługa tych modułów jest ograniczona do pomocy w migracji do zestawu Microsoft Graph PowerShell SDK i poprawek zabezpieczeń. Przestarzałe moduły będą nadal działać do 30 marca 2025 r.
Zalecamy migrację do programu Microsoft Graph PowerShell w celu interakcji z identyfikatorem Entra firmy Microsoft (dawniej Azure AD). Aby uzyskać typowe pytania dotyczące migracji, zapoznaj się z często zadawanymi pytaniami dotyczącymi migracji. Nuta: W wersjach 1.0.x usługi MSOnline mogą wystąpić zakłócenia po 30 czerwca 2024 r.
Connect-MgGraph -Scopes "User.ReadBasic.All"
Get-MgUser -All -Property DisplayName, UsageLocation | Select DisplayName, UsageLocation
Oto przykład wyników:
DisplayName UsageLocation
----------- -------------
Bonnie Kearney GB
Fabrice Canel BR
Brian Johnson (TAILSPIN) US
Anne Wallace US
Alex Darrow US
David Longmuir BR
Interpretacja tego polecenia programu PowerShell jest następująca: Pobierz wszystkich użytkowników w bieżącej subskrypcji platformy Microsoft 365 (Get-MgUser), ale wyświetl tylko nazwę i lokalizację dla każdego użytkownika (wybierz pozycję DisplayName, UsageLocation).
Ponieważ program PowerShell dla platformy Microsoft 365 obsługuje język powłoki poleceń, możesz dalej manipulować informacjami uzyskanymi za pomocą polecenia Get-MgUser . Na przykład możesz posortować tych użytkowników według ich lokalizacji, grupując wszystkich brazylijskich użytkowników, wszystkich użytkowników ze Stanów Zjednoczonych i tak dalej. Oto polecenie:
Get-MgUser -All -Property DisplayName, UsageLocation | Select DisplayName, UsageLocation | Sort UsageLocation, DisplayName
Oto przykład wyników:
DisplayName UsageLocation
----------- -------------
David Longmuir BR
Fabrice Canel BR
Bonnie Kearney GB
Alex Darrow US
Anne Wallace US
Brian Johnson (TAILSPIN) US
Interpretacja tego polecenia programu PowerShell: pobierz wszystkich użytkowników w bieżącej subskrypcji platformy Microsoft 365, ale wyświetl tylko nazwę i lokalizację dla każdego użytkownika i posortuj ich najpierw według lokalizacji, a następnie nazwy (Sort UsageLocation, DisplayName).
Można również użyć dodatkowego filtrowania. Jeśli na przykład chcesz wyświetlić tylko informacje o użytkownikach z brazylii, użyj tego polecenia:
Get-MgUser -All -Property DisplayName, Country | Where-Object {$_.Country -eq "BR"} | Select DisplayName, Country
Oto przykład wyników:
DisplayName UsageLocation
----------- -------------
David Longmuir BR
Fabrice Canel BR
Interpretacja tego polecenia programu PowerShell brzmi: Pobierz wszystkich użytkowników w bieżącej subskrypcji platformy Microsoft 365, której lokalizacja to Brazylia (gdzie {$_. UsageLocation -eq "BR"}), a następnie wyświetl nazwę i lokalizację dla każdego użytkownika.
Uwaga dotycząca dużych domen
Jeśli masz dużą domenę z dziesiątkami tysięcy użytkowników, wypróbowanie niektórych przykładów, które przedstawiono w tym artykule, może prowadzić do ograniczania przepustowości. W oparciu o takie czynniki, jak moc obliczeniowa i dostępna przepustowość sieci, możesz próbować zrobić zbyt wiele jednocześnie. Duże organizacje mogą chcieć podzielić niektóre z tych operacji programu PowerShell na dwa polecenia.
Na przykład następujące polecenie zwraca wszystkie konta użytkowników i pokazuje nazwę i lokalizację dla każdego z nich:
Get-MgUser -All | Select DisplayName, UsageLocation
To działa świetnie w przypadku mniejszych domen. Jednak w dużej organizacji można podzielić tę operację na dwa polecenia: jedno polecenie do przechowywania informacji o koncie użytkownika w zmiennej, a drugie w celu wyświetlenia potrzebnych informacji. Oto przykład:
$x = Get-MgUser -All -Property DisplayName, UsageLocation
$x | Select DisplayName, UsageLocation
Interpretacja tego zestawu poleceń programu PowerShell to:
- Pobierz wszystkich użytkowników w bieżącej subskrypcji platformy Microsoft 365 i zapisz informacje w zmiennej o nazwie $x ($x = Get-MgUser).
- Wyświetl zawartość zmiennej $x, ale uwzględnij tylko nazwę i lokalizację dla każdego użytkownika ($x | Wybierz pozycję DisplayName, UsageLocation).
Platforma Microsoft 365 zawiera funkcje, które można skonfigurować tylko za pomocą programu PowerShell dla platformy Microsoft 365
Centrum administracyjne platformy Microsoft 365 ma na celu zapewnienie dostępu do typowych, przydatnych zadań administracyjnych, które mają zastosowanie do większości środowisk. Innymi słowy, centrum administracyjne platformy Microsoft 365 zostało zaprojektowane tak, aby typowy administrator mógł wykonywać najbardziej typowe zadania zarządzania. Istnieją jednak pewne zadania, których nie można wykonać w centrum administracyjnym.
Na przykład centrum administracyjne usługi Skype dla firm Online udostępnia kilka opcji tworzenia niestandardowych zaproszeń na spotkania:
Za pomocą tych ustawień możesz dodać odrobinę personalizacji i profesjonalizmu do zaproszeń na spotkania. Jednak ustawienia konfiguracji spotkania to coś więcej niż tylko tworzenie niestandardowych zaproszeń na spotkania. Na przykład domyślnie spotkania zezwalają na:
Anonimowi użytkownicy uzyskują automatyczne wejście do każdego spotkania.
Uczestnicy nagrywania spotkania.
Podczas dołączania do spotkania wszyscy użytkownicy z organizacji mają być wyznaczeni jako prezenterzy.
Te ustawienia nie są dostępne w centrum administracyjnym usługi Skype dla firm Online. Możesz kontrolować je za pomocą programu PowerShell dla platformy Microsoft 365. Oto polecenie, które wyłącza te trzy ustawienia:
Set-CsMeetingConfiguration -AdmitAnonymousUsersByDefault $False -AllowConferenceRecording $False -DesignateAsPresenter "None"
Uwaga
Aby uruchomić to polecenie, należy zainstalować moduł Programu PowerShell usługi Skype dla firm Online.
Interpretacja tego polecenia programu PowerShell to:
- W ustawieniach nowych spotkań usługi Skype dla firm Online (Set-CsMeetingConfiguration) wyłącz zezwalanie anonimowym użytkownikom na automatyczne wejście na spotkania (-AdmitAnonymousUsersByDefault $False).
- Wyłącz możliwość rejestrowania spotkań przez uczestników (-AllowConferenceRecording $False).
- Nie wyznaczaj wszystkich użytkowników z organizacji jako prezenterów (-DesignateAsPresenter "None").
Aby przywrócić te ustawienia domyślne (włącz opcje), uruchom następujące polecenie:
Set-CsMeetingConfiguration -AdmitAnonymousUsersByDefault $True -AllowConferenceRecording $True -DesignateAsPresenter "Company"
Istnieją również inne podobne scenariusze, dlatego administratorzy powinni wiedzieć, jak uruchomić program PowerShell dla poleceń platformy Microsoft 365.
Program PowerShell dla platformy Microsoft 365 doskonale nadaje się do operacji zbiorczych
Interfejsy wizualne, takie jak centrum administracyjne platformy Microsoft 365, są najbardziej wartościowe, gdy masz jedną operację do wykonania. Jeśli na przykład musisz wyłączyć jedno konto użytkownika, możesz użyć centrum administracyjnego, aby szybko zlokalizować i wyczyścić pole wyboru. Może to być łatwiejsze niż wykonanie podobnej operacji w programie PowerShell.
Jeśli jednak musisz zmienić wiele rzeczy lub niektóre wybrane elementy w ramach dużego zestawu innych rzeczy, centrum administracyjne platformy Microsoft 365 może nie być najlepszym narzędziem. Załóżmy na przykład, że musisz zmienić prefiks na tysiącach numerów telefonów lub usunąć określonego użytkownika Kena Myera ze wszystkich witryn programu SharePoint. Jak to zrobić w centrum administracyjnym platformy Microsoft 365?
W ostatnim przykładzie załóżmy, że masz kilkaset witryn programu SharePoint i nie wiesz, do których z nich należy Ken Meyer. Należy zacząć od centrum administracyjnego platformy Microsoft 365, a następnie wykonać tę procedurę dla każdej witryny:
Wybierz adres URL witryny.
W polu właściwości zbioru witryn wybierz link Adres witryny sieci Web , aby otworzyć witrynę.
W witrynie wybierz pozycję Udostępnij.
W oknie dialogowym Udostępnianie wybierz link pokazujący wszystkich użytkowników, którzy mają uprawnienia do witryny:
W oknie dialogowym Udostępnianie wybierz pozycję Zaawansowane.
Przewiń listę użytkowników, znajdź i wybierz pozycję Ken Myer (zakładając, że ma uprawnienia do witryny), a następnie wybierz pozycję Usuń uprawnienia użytkownika.
Zajęłoby to dużo czasu dla kilkuset witryn.
Alternatywą jest uruchomienie następującego polecenia w programie PowerShell dla platformy Microsoft 365, aby usunąć Kena Myera ze wszystkich witryn:
Get-SPOSite | ForEach {Remove-SPOUser -Site $_.Url -LoginName "kenmyer@litwareinc.com"}
Uwaga
To polecenie wymaga zainstalowania modułu programu SharePoint PowerShell.
Interpretacja tego polecenia programu PowerShell: pobierz wszystkie witryny programu SharePoint w bieżącej subskrypcji platformy Microsoft 365 (Get-SPOSite) i dla każdej witryny usuń Kena Meyera z listy użytkowników, którzy mogą uzyskać do niej dostęp (ForEach {Remove-SPOUser -Site $_. Url -LoginName "kenmyer@litwareinc.com"}).
Firma Microsoft 365 informuje o usunięciu Kena Meyera z każdej witryny, w tym tych, do których nie ma dostępu. Wyniki będą więc pokazywać błędy dla tych witryn, do których nie ma dostępu. Możemy użyć dodatkowego warunku dla tego polecenia, aby usunąć Ken Meyer tylko z witryn, które mają go na liście logowania. Ale zwrócone błędy nie powodują szkody dla samych witryn. Uruchomienie tego polecenia może potrwać kilka minut względem setek witryn, a nie godzin pracy w centrum administracyjnym platformy Microsoft 365.
Oto kolejny przykład operacji zbiorczej. Użyj tego polecenia, aby dodać bonnie Kearney, nowego administratora programu SharePoint, do wszystkich witryn w organizacji:
Get-SPOSite | ForEach {Add-SPOUser -Site $_.Url -LoginName "bkearney@litwareinc.com" -Group "Members"}
Interpretacja tego polecenia programu PowerShell: Pobierz wszystkie witryny programu SharePoint w bieżącej subskrypcji platformy Microsoft 365 i dla każdej witryny zezwalaj na dostęp Bonnie Kearney, dodając nazwę logowania do grupy Członkowie witryny (ForEach {Add-SPOUser -Site $_. Url -LoginName "bkearney@litwareinc.com" -Group "Members"}).
Program PowerShell dla platformy Microsoft 365 doskonale nadaje się do filtrowania danych
Centrum administracyjne platformy Microsoft 365 oferuje kilka sposobów filtrowania danych w celu łatwego zlokalizowania docelowego podzestawu informacji. Na przykład program Exchange ułatwia filtrowanie praktycznie dowolnej właściwości skrzynki pocztowej użytkownika. Oto lista skrzynek pocztowych dla wszystkich użytkowników mieszkających w mieście Bloomington:
Centrum administracyjne programu Exchange umożliwia również łączenie kryteriów filtrowania. Na przykład możesz znaleźć skrzynki pocztowe dla wszystkich osób mieszkających w Bloomington i działających w dziale finansów.
Istnieją jednak ograniczenia dotyczące tego, co można zrobić w Centrum administracyjnym programu Exchange. Na przykład nie można tak łatwo znaleźć skrzynek pocztowych osób mieszkających w Bloomington lub San Diego, ani skrzynek pocztowych dla wszystkich osób, które nie mieszkają w Bloomington.
Możesz użyć następującego polecenia programu PowerShell dla platformy Microsoft 365, aby uzyskać listę skrzynek pocztowych dla wszystkich osób mieszkających w Bloomington lub San Diego:
Get-User | Where {$_.RecipientTypeDetails -eq "UserMailbox" -and ($_.City -eq "San Diego" -or $_.City -eq "Bloomington")} | Select DisplayName, City
Oto przykład wyników:
DisplayName City
----------- ----
Alex Darrow San Diego
Bonnie Kearney San Diego
Julian Isla Bloomington
Rob Young Bloomington
Interpretacja tego polecenia programu PowerShell: Pobierz wszystkich użytkowników w bieżącej subskrypcji platformy Microsoft 365, którzy mają skrzynkę pocztową w mieście San Diego lub Bloomington (gdzie {$_. RecipientTypeDetails -eq "UserMailbox" -and ($_. Miasto -eq "San Diego" -lub $_. City -eq "Bloomington")}), a następnie wyświetl nazwę i miasto dla każdego (Wybierz nazwę wyświetlaną, miasto).
A oto polecenie, aby wyświetlić listę wszystkich skrzynek pocztowych dla osób, które mieszkają w dowolnym miejscu z wyjątkiem Bloomington:
Get-User | Where {$_.RecipientTypeDetails -eq "UserMailbox" -and $_.City -ne "Bloomington"} | Select DisplayName, City
Oto przykład wyników:
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
Interpretacja tego polecenia programu PowerShell jest następująca: Pobierz wszystkich użytkowników w bieżącej subskrypcji platformy Microsoft 365, którzy mają skrzynkę pocztową, która nie znajduje się w mieście Bloomington (gdzie {$_. RecipientTypeDetails -eq "UserMailbox" -i $_. City -ne "Bloomington"}), a następnie wyświetl nazwę i miasto dla każdego.
Używanie symboli wieloznacznych
Możesz również użyć symboli wieloznacznych w filtrach programu PowerShell, aby dopasować część nazwy. Załóżmy na przykład, że szukasz konta użytkownika. Pamiętaj tylko, że nazwisko użytkownika to Anderson , a może Henderson lub Jorgenson.
Możesz śledzić tego użytkownika w centrum administracyjnym platformy Microsoft 365 przy użyciu narzędzia wyszukiwania i przeprowadzając trzy różne wyszukiwania:
Jeden dla Andersona
Jeden dla Hendersona
Jeden dla Jorgensona
Ponieważ wszystkie trzy z tych nazw kończą się ciągiem "son", można powiedzieć programowi PowerShell, aby wyświetlił wszystkich użytkowników, których nazwa kończy się ciągiem "son". Oto polecenie:
Get-User -Filter '{LastName -like "*son"}'
Interpretacja tego polecenia programu PowerShell: pobierz wszystkich użytkowników w bieżącej subskrypcji platformy Microsoft 365, ale użyj filtru, który wyświetla tylko listę użytkowników, których nazwiska kończą się ciągiem "son" (-Filter '{LastName -like "*son"}). Znak * oznacza dowolny zestaw znaków, które są literami w nazwisku użytkownika.
Program PowerShell dla platformy Microsoft 365 ułatwia drukowanie lub zapisywanie danych
Centrum administracyjne platformy Microsoft 365 umożliwia wyświetlanie list danych. Oto przykład centrum administracyjnego usługi Skype dla firm Online z listą użytkowników, którzy zostali włączeni dla usługi Skype dla firm Online:
Aby zapisać te informacje w pliku, należy wkleić je do dokumentu lub arkusza programu Microsoft Excel. Każdy przypadek może wymagać dodatkowego formatowania. Ponadto centrum administracyjne platformy Microsoft 365 nie umożliwia bezpośredniego drukowania wyświetlonej listy.
Na szczęście można użyć programu PowerShell, aby nie tylko wyświetlić listę, ale także zapisać ją w pliku, który można łatwo zaimportować do programu Excel. Oto przykładowe polecenie umożliwiające zapisanie danych użytkownika usługi Skype dla firm Online w pliku wartości rozdzielanych przecinkami (CSV), który można następnie łatwo zaimportować jako tabelę w arkuszu programu Excel:
Get-CsOnlineUser | Select DisplayName, UserPrincipalName, UsageLocation | Export-Csv -Path "C:\Logs\SfBUsers.csv" -NoTypeInformation
Oto przykład wyników:
Interpretacja tego polecenia programu PowerShell: Pobierz wszystkich użytkowników usługi Skype dla firm Online w bieżącej subskrypcji platformy Microsoft 365 (Get-CsOnlineUser); uzyskaj tylko nazwę użytkownika, nazwę UPN i lokalizację (wybierz pozycję DisplayName, UserPrincipalName, UsageLocation); a następnie zapisz te informacje w pliku CSV o nazwie C:\Logs\SfBUsers.csv (Export-Csv -Path "C:\Logs\SfBUsers.csv" -NoTypeInformation).
Możesz również użyć opcji, aby zapisać tę listę jako plik XML lub stronę HTML. W rzeczywistości za pomocą dodatkowych poleceń programu PowerShell można zapisać go bezpośrednio jako plik programu Excel przy użyciu dowolnego niestandardowego formatowania.
Możesz również wysłać dane wyjściowe polecenia programu PowerShell, które wyświetla listę bezpośrednio do drukarki domyślnej w systemie Windows. Oto przykładowe polecenie:
Get-CsOnlineUser | Select DisplayName, UserPrincipalName, UsageLocation | Out-Printer
Oto jak będzie wyglądał drukowany dokument:
Interpretacja tego polecenia programu PowerShell: pobierz wszystkich użytkowników usługi Skype dla firm Online w bieżącej subskrypcji platformy Microsoft 365; uzyskać tylko nazwę użytkownika, nazwę UPN i lokalizację; a następnie wyślij te informacje do domyślnej drukarki systemu Windows (drukarki out-printer).
Drukowany dokument ma takie samo proste formatowanie jak w oknie poleceń programu PowerShell. Aby uzyskać kopię na stałe, wystarczy dodać | Out-Printer na końcu polecenia.
Program PowerShell dla platformy Microsoft 365 umożliwia zarządzanie produktami serwera
Składniki, które składają się na platformę Microsoft 365, zostały zaprojektowane do współpracy. Załóżmy na przykład, że dodasz nowego użytkownika do platformy Microsoft 365 i określisz takie informacje jak dział użytkownika i numer telefonu. Te informacje będą następnie dostępne, jeśli uzyskasz dostęp do informacji użytkownika w dowolnej z usług platformy Microsoft 365: Skype dla firm Online, Exchange lub SharePoint.
Ale to dla typowych informacji, które obejmują zestaw produktów. Informacje specyficzne dla produktu, takie jak informacje o skrzynce pocztowej programu Exchange użytkownika, zwykle nie są dostępne w całym pakiecie. Na przykład informacje o tym, czy skrzynka pocztowa użytkownika jest włączona, czy nie, są dostępne tylko w centrum administracyjnym programu Exchange.
Załóżmy, że chcesz utworzyć raport zawierający następujące informacje dla wszystkich użytkowników:
Nazwa wyświetlana użytkownika
Czy użytkownik ma licencję na platformę Microsoft 365
Czy skrzynka pocztowa programu Exchange użytkownika została włączona
Czy użytkownik jest włączony dla usługi Skype dla firm Online
Nie można łatwo utworzyć takiego raportu w centrum administracyjnym platformy Microsoft 365. Zamiast tego należy utworzyć oddzielny dokument do przechowywania informacji, takich jak arkusz programu Excel. Następnie pobierz wszystkie nazwy użytkowników i informacje o licencjonowaniu z centrum administracyjnego usługi Microsoft 365, pobierz informacje o skrzynce pocztowej z centrum administracyjnego programu Exchange, pobierz informacje usługi Skype dla firm Online z centrum administracyjnego usługi Skype dla firm Online, a następnie połącz te informacje.
Alternatywą jest użycie skryptu programu PowerShell do skompilowania raportu.
Poniższy przykładowy skrypt jest bardziej skomplikowany niż polecenia widoczne do tej pory w tym artykule. Pokazuje jednak potencjał używania programu PowerShell do tworzenia widoków informacji, które są trudne do uzyskania w przeciwnym razie. Oto skrypt do skompilowania i wyświetlenia potrzebnej listy:
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
Oto przykład wyników:
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
Interpretacja tego skryptu programu PowerShell to:
- Pobierz wszystkich użytkowników w bieżącej subskrypcji platformy Microsoft 365 i zapisz informacje w zmiennej o nazwie $x ($x = Get-MgUser).
- Uruchom pętlę, która uruchamia wszystkich użytkowników w zmiennej $x (foreach ($i w $x)).
- Zdefiniuj zmienną o nazwie $y i zapisz w niej informacje o skrzynce pocztowej użytkownika ($y = Get-Mailbox -Identity $i.UserPrincipalName).
- Dodaj nową właściwość do informacji użytkownika o nazwie IsMailBoxEnabled. Ustaw ją na wartość właściwości IsMailBoxEnabled skrzynki pocztowej użytkownika ($i | Add-Member -MemberType NoteProperty -Name IsMailboxEnabled -Value $y.IsMailboxEnabled).
- Zdefiniuj zmienną o nazwie $y i zapisz w niej informacje o usłudze Skype dla firm Online użytkownika ($y = Get-CsOnlineUser -Identity $i.UserPrincipalName).
- Dodaj nową właściwość do informacji użytkownika o nazwie EnabledForSfB. Ustaw ją na wartość właściwości Włączone informacji użytkownika usługi Skype dla firm Online ($i | Add-Member -MemberType NoteProperty -Name EnabledForSfB -Value $y.Enabled).
- Wyświetl listę użytkowników, ale podaj tylko ich nazwę, czy są licencjonowani, oraz dwie nowe właściwości wskazujące, czy ich skrzynka pocztowa jest włączona i czy są one włączone dla usługi Skype dla firm Online ($x | Wybierz pozycje DisplayName, IsLicensed, IsMailboxEnabled, EnabledforSfB).
Zobacz też
Wprowadzenie do programu PowerShell dla platformy Microsoft 365
Tworzenie raportów na platformie Microsoft 365 przy użyciu programu Windows PowerShell