Get-MsolUser PowerShell Attributes & Properties

Ten artykuł został zaktualizowany na rok 2021. Należy pamiętać, że WAAD został wycofany w 2018 roku, ale cmdlety wymienione w tym artykule są nadal przydatne dla organizacji korzystających z WAAD.

Niewielu administratorów Office 365 wie, że cmdlet Get-MsolUser PowerShell odgrywa ważną rolę podczas zarządzania Office 365 Windows Azure Active Directory, w skrócie WAAD.

Windows Server Tutorials

Get-MsolUser może być bardzo przydatny w codziennych zadaniach operacyjnych związanych z Office 365 WAAD.

Ale zanim będzie można użyć cmdleta Get-MsolUser lub któregokolwiek z innych cmdletów Office 365 PowerShell, trzeba będzie zainstalować Microsoft Online Sign-In Assistant for IT Professional i Windows Azure Active Directory Module for Windows PowerShell na komputerze z systemem Windows 7 lub nowszym.

Uwaga: W październiku 2015 r. programiści firmy Microsoft udostępnili nową wersję Azure Active Directory Module, która obsługuje konta użytkowników Office 365 z włączoną obsługą wielu czynników (MFA). Stara wersja modułu Azure Active Directory Module nie obsługuje kont z włączoną obsługą MFA. Wersję MFA programu Azure PowerShell można pobrać z witryny Microsoft connect.

W tym przypadku korzystamy z usługi Office 365 Business Premium z bezpłatną próbą na 30 dni. Dodaliśmy domenę o nazwie ExampleIT.com i jest to domena, której będziemy używać do usług Office 365, takich jak e-mail, SharePoint, Lync oraz do umożliwienia użytkownikom pobierania aplikacji Office, takich jak Word, Excel i PowerPoint na komputery stacjonarne lub urządzenia mobilne.

Po zainstalowaniu MSOnline Sign-In Assistant i Azure PowerShell Module na komputerze, przejdź do Start > wyszukaj > wpisz „Windows Azure Active Directory Module”, kliknij prawym przyciskiem myszy na skrót, a następnie kliknij „Uruchom jako administrator”, aby otworzyć okno Azure PowerShell w trybie podwyższonym. Następnie należy użyć „Connect-MSolservice”, aby połączyć się z Office 365 Tenant, co z kolei umożliwia eksplorację użytkowników WAAD za pomocą cmdlet Get – MSOlUser.

Domyślnie, po uruchomieniu cmdlet GetMsolUser PowerShell, otrzymujemy User Principal Name, Display Name i czy użytkownik jest licencjonowany czy nie.

get-msoluser PowerShell Cmdlet - Screenshot #1

Jak widać na powyższym wyjściu, Get-MSOlUser wyświetla listę wszystkich użytkowników, którzy zostali utworzeni w Office 365 wraz z ich UserPrincipalName, DisplayName i statusem licencji. Kolumna statusu isLicense wskazuje, czy użytkownik jest zapisany do usługi Office 365, czy nie.

To są podstawowe dane wyjściowe, które można zobaczyć po uruchomieniu cmdletu Get-MsolUser bez parametrów. Ale jest o wiele więcej, co można zrobić z cmdletem Get-MsolUser.

Na przykład, można go użyć do

  • Szukania użytkowników
  • Identyfikacji, kiedy użytkownik został utworzony
  • Dowiedzenia się, kiedy użytkownik ostatnio zmienił swoje hasło
  • Które licencje są powiązane z użytkownikiem
  • Polityki haseł, które mają zastosowanie do użytkownika
  • Czy użytkownik jest synchronizowany z On-Premises Active Directory lub nie

Ta lista poleceń Get-MsolUser PowerShell zawiera opcje, które mogą być przydatne w codziennych potrzebach operacyjnych.

Uzyskiwanie daty i godziny utworzenia dla użytkowników Office 365

Aby uzyskać listę użytkowników wraz z czasem ich utworzenia, należy uruchomić następujące polecenie PowerShell:

GET-MSOLUSER | SELECT-OBJECT USERPRINCIPALNAME, WHENCREATED | FT -AUTOSIZE

Właściwość „WhenCreated” wyświetla czas utworzenia użytkownika, jak pokazano w poniższym oknie PowerShell:

Get-MsolUser PowerShell cmdlet - Screenshot #2

Jeśli chcesz wyeksportować listę do pliku CSV, użyj tego polecenia:

Get-MsolUser -ALL | Select-Object UserPrincipalName, WhenCreated | Export-CSV AllUsersWithWhenCreated.CSV -NoTypeInformation

Plik CSV o nazwie „AllUsersWithWhenCreated.CSV” zostanie wygenerowany w folderze lokalnym.

Wskazówka: cmdlet PowerShell Export-CSV jest obsługiwany dla wszystkich cmdletów Windows PowerShell.

Szukanie użytkowników

Mimo że można wyszukiwać użytkowników w Centrum administracyjnym usługi Office 365, użycie cmdleta Get-MsolUser zapewnia możliwość przechowywania danych wyjściowych w pliku CSV. Na przykład, aby pobrać listę użytkowników, którzy zawierają „Rick” w nazwie wyświetlanej, wykonaj następujące polecenie:

GET-MSOLUSER -SEARCHSTRING "RICK" | SELECT-OBJECT USERPRINCIPALNAME, ISLICENSED | EXPORT-CSV USERSWITHRICK.CSV -NOTYPEINFORMATION

List Users that are Enabled/Disabled

Możesz również użyć cmdleta Get-MsolUser, aby pobrać listę użytkowników, którzy są włączeni lub wyłączeni, dodając parametr „-EnabledFilter”. Parametr „-EnabledFilter” obsługuje dwie wartości: EnabledOnly i DisabledOnly, jak pokazano w tych poleceniach:

GET-MSOLUSER -ENABLEDFILTER ENABLEDONLY -ALL | EXPORT-CSV ENABLEDOFFICE365USERS.CSV -NOTYPEINFORMATION

GET-MSOLUSER -ENABLEDFILTER DISABLEDONLY -ALL | EXPORT-CSV DISABLEDOFFICE365USERS.CSV -NOTYPEINFORMATION

Pierwsze polecenie pobiera użytkowników, którzy są włączeni, podczas gdy drugie polecenie pobiera listę użytkowników, którzy są obecnie wyłączeni.

Uzyskiwanie zsynchronizowanych użytkowników

Office 365 umożliwia wdrożenie scenariusza „zsynchronizowanej tożsamości”, w którym użytkownicy z lokalnej usługi Active Directory są synchronizowani za pomocą narzędzi DirSync, AADSync lub AADConnect i umieszczani w usłudze Office 365 WAAD. Synchronizacja ta eliminuje konieczność osobnego tworzenia użytkowników w Office 365. Każdy użytkownik musi zostać zsynchronizowany, aby pobrać zaktualizowane informacje z lokalnej usługi Active Directory.

Należy zauważyć, że cmdlety Azure PowerShell nie zapewniają przełącznika, którego można użyć do wylistowania użytkowników, którzy są synchronizowani z lokalnej usługi Active Directory. To właśnie sprawia, że cmdlet Get-MSOlUser jest tak potężny.
Każdy użytkownik, który jest synchronizowany z On-Premises Active Directory, ma przypisany atrybut użytkownika o nazwie „ImmutableID”. Atrybut „ImmutableID” utrzymuje się, gdy użytkownik jest synchronizowany z On-Premises Active Directory. Aby zapytać zsynchronizowanych użytkowników i zapisać dane wyjściowe w pliku CSV, uruchom poniższe polecenie PowerShell:

GET-MSOLUSER -ALL | WHERE IMMUTABLEID -NE $NULL

To polecenie instruuje Get-MSOlUser, aby zapytał wszystkich użytkowników, którzy nie mają wartości przypisanej do atrybutu ImmutableID.

Getting Last Synchronization Time for Users

Każdy użytkownik, który jest zsynchronizowany z on-premises Active Directory będzie miał znacznik czasu synchronizacji. Te polecenia wyciągną czas ostatniej synchronizacji dla pojedynczego użytkownika lub wielu użytkowników.

Aby uzyskać ostatni czas synchronizacji dla pojedynczego użytkownika:

GET-MSOLUSER -USERPRINCIPALNAME "" | SELECT-OBJECT USERPRINCIPALNAME, LASTDIRSYNCTIME

Aby uruchomić to polecenie dla wszystkich użytkowników i zapisać dane wyjściowe w pliku CSV, użyj tego polecenia:

GET-MSOLUSER -ALL | SELECT-OBJECT USERPRINCIPALNAME, LASTDIRSYNCTIME

Istnieją inne cenne informacje o użytkownikach usługi Office 365, które można pobrać za pomocą polecenia Get-MsolUser PowerShell cmdlet, ale najpierw trzeba wiedzieć, czy dla użytkownika usługi Office 365 są dostępne właściwości, które przechowują wymagane informacje.

Aby uzyskać listę właściwości użytkownika powiązanych z użytkownikami usługi Office 365, należy uruchomić polecenie „Get-MSOlUser | Get-Member”. Po poznaniu właściwości użytkownika, które mogą zawierać wymagane informacje o użytkowniku, użyj następującej składni polecenia Get-MSOlUser, aby pobrać informacje o użytkowniku:

GET-MSOLUSER -USERPRINCIPALNAME "" | SELECT-OBJECT PROPERTY1, PROPERTY2, PROPERTY3

Uzyskanie informacji o wszystkich użytkownikach usługi Office 365

Można zauważyć użycie parametrów -MaxResults lub -ALL w niektórych poleceniach programu PowerShell opisanych powyżej. Domyślnie cmdlet Get-MsolUser może pobrać tylko 500 użytkowników w jednym poleceniu.

Jeśli w Office 365 WAAD jest więcej niż 500 użytkowników, należy użyć parametrów -ALL lub -MaxResults. Parametr -MaxResults nakazuje cmdletowi Get-MsolUser zwrócić do wartości określonej w parametrze -MaxResults, natomiast parametr -ALL pozwala uzyskać wyniki dla wszystkich użytkowników usługi Office 365. Nie zapomnij użyć tych parametrów w zależności od wymagań polecenia.

Get-MSOLUSER dla elastyczności

Microsoft Office 365 udostępnia cmdlety PowerShell, które mogą radykalnie skrócić czas wykonywania zadań za pośrednictwem Centrum administracyjnego Office 365. Ponieważ większość zadań w środowisku chmury Office 365 jest powiązana z użytkownikiem, użycie cmdleta Get-MsolUser PowerShell zapewnia większą elastyczność w zakresie zarządzania instancjami Office 365 WAAD.

Nirmal Sharma jest MCSEx3, MCITP i Microsoft MVP w dziedzinie Directory Services. Specjalizuje się w usługach katalogowych, Microsoft Azure, klastrach Failover, Hyper-V, System Center i Exchange Servers, a z technologiami Microsoft jest związany od 1994 roku. W wolnym czasie lubi pomagać innym i dzielić się częścią swojej wiedzy, pisząc porady i artykuły na różnych stronach internetowych oraz współtworząc Health Packs dla rozwiązań ADHealthProf.ITDynamicPacks.Net. Z Nirmalem można skontaktować się pod adresem

.

Leave a Reply