Udostępnij za pośrednictwem


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:

Przykład wyświetlania 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:

  1. Kliknij dwukrotnie nazwę wyświetlaną użytkownika.

  2. W okienku wyświetlania właściwości użytkownika wybierz szczegóły.

  3. Na ekranie szczegółów wybierz dodatkowe szczegóły.

  4. Przewiń, aż znajdziesz nagłówek Kraj lub region:

    Przykład informacji o regionie użytkownika w centrum administracyjnym platformy Microsoft 365.

  5. 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:

  1. Pobierz wszystkich użytkowników w bieżącej subskrypcji platformy Microsoft 365 i zapisz informacje w zmiennej o nazwie $x ($x = Get-MgUser).
  2. 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:

Przykład wyświetlania niestandardowych zaproszeń na spotkania w centrum administracyjnym usługi Skype dla firm Online.

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:

  1. 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).
  2. Wyłącz możliwość rejestrowania spotkań przez uczestników (-AllowConferenceRecording $False).
  3. 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:

  1. Wybierz adres URL witryny.

  2. W polu właściwości zbioru witryn wybierz link Adres witryny sieci Web , aby otworzyć witrynę.

  3. W witrynie wybierz pozycję Udostępnij.

  4. W oknie dialogowym Udostępnianie wybierz link pokazujący wszystkich użytkowników, którzy mają uprawnienia do witryny:

    Przykład wyświetlania elementów członkowskich witryny programu SharePoint w Centrum administracyjnym programu SharePoint.

  5. W oknie dialogowym Udostępnianie wybierz pozycję Zaawansowane.

  6. 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:

Przykład zaawansowanego wyszukiwania w centrum administracyjnym platformy Microsoft 365 dla listy 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:

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:

Przykład tabeli zaimportowanych do arkusza programu Excel dla danych użytkownika usługi Skype dla firm Online, które zostały zapisane w pliku wartości rozdzielanych przecinkami.

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:

Przykład drukowanego dokumentu, który był wyjściem polecenia programu PowerShell wysłanego bezpośrednio do drukarki domyślnej w systemie Windows.

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:

  1. Pobierz wszystkich użytkowników w bieżącej subskrypcji platformy Microsoft 365 i zapisz informacje w zmiennej o nazwie $x ($x = Get-MgUser).
  2. Uruchom pętlę, która uruchamia wszystkich użytkowników w zmiennej $x (foreach ($i w $x)).
  3. Zdefiniuj zmienną o nazwie $y i zapisz w niej informacje o skrzynce pocztowej użytkownika ($y = Get-Mailbox -Identity $i.UserPrincipalName).
  4. 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).
  5. 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).
  6. 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).
  7. 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

Zarządzanie kontami, licencjami i grupami użytkowników platformy Microsoft 365 przy użyciu programu PowerShell

Tworzenie raportów na platformie Microsoft 365 przy użyciu programu Windows PowerShell