Get-MsolUser PowerShell Attributes & Properties
Denna artikel har uppdaterats för 2021. Observera att WAAD pensionerades 2018, men de cmdlets som anges i den här artikeln är fortfarande användbara för organisationer som använder WAAD.
Inte många Office 365-administratörer vet att Get-MsolUser PowerShell-cmdletten spelar en viktig roll när de hanterar Office 365 Windows Azure Active Directory, eller förkortat WAAD.
Get-MsolUser kan vara mycket praktisk i de dagliga operativa uppgifterna i samband med Office 365 WAAD.
Men innan du kan använda cmdlet Get-MsolUser eller någon av de andra Office 365 PowerShell-cmdlets måste du installera Microsoft Online Sign-In Assistant for IT Professional och Windows Azure Active Directory Module for Windows PowerShell på en dator som kör Windows 7 eller senare.
Notera: I oktober 2015 släppte Microsofts utvecklare en ny version av Azure Active Directory Module som har stöd för Office 365-användarkonton med MFA (multi-faktoraktivering). Den gamla versionen av Azure Active Directory Module har inte stöd för MFA-aktiverade konton. Du kan hämta MFA-versionen av Azure PowerShell från webbplatsen Microsoft connect.
I det här fallet använder vi Office 365 Business Premium med en gratis provversion i 30 dagar. Vi har lagt till en domän som heter ExampleIT.com och detta är den domän vi kommer att använda för Office 365-tjänster som e-post, SharePoint, Lync och för att låta användarna ladda ner Office-program som Word, Excel och PowerPoint på stationära datorer eller mobila enheter.
När du har installerat MSOnline Sign-In Assistant och Azure PowerShell-modulen på en dator går du till start > sök > skriv ”Windows Azure Active Directory Module”, högerklickar på genvägen och klickar sedan på ”Kör som administratör” för att öppna Azure PowerShell-fönstret i förhöjt läge. Därefter måste du använda ”Connect-MSolservice” för att ansluta till Office 365 Tenant, vilket i sin tur gör att du kan utforska WAAD-användare med hjälp av cmdlet Get – MSOlUser.
När du kör PowerShell-cmdletten GetMsolUser får du som standard användarens huvudnamn, visningsnamn och om användaren är licensierad eller inte.
Som du kan se i utmatningen ovan listar Get-MSOlUser alla användare som har skapats i Office 365 med deras UserPrincipalName, DisplayName och licensstatus. Kolumnen isLicense-status anger om en användare är prenumererad på en Office 365-tjänst eller inte.
Det här är den grundläggande utmatningen som du ser när du kör cmdlet Get-MsolUser utan parametrar. Men det finns mycket mer som du kan göra med cmdlet Get-MsolUser.
Till exempel, kan du använda den för att
- Söka efter användare
- Identifiera när en användare skapades
- Få reda på när en användare ändrade sitt lösenord senast
- Vilka licenser som är associerade med en användare
- Lösenordsprinciperna som gäller för en användare
- Om en användare är synkroniserad från On-Premises Active Directory eller inte
Denna lista över Get-MsolUser PowerShell-kommandon innehåller alternativ som kan vara användbara i din dagliga verksamhet.
Hämtning av skapelsedatum och -tid för Office 365-användare
För att få en lista över användare med deras skapelsetid kör du följande PowerShell-kommando:
GET-MSOLUSER | SELECT-OBJECT USERPRINCIPALNAME, WHENCREATED | FT -AUTOSIZE
Gegenskapen ”WhenCreated” visar användarens skapelsetid som visas i PowerShell-fönstret nedan:
Om du vill exportera listan till en CSV-fil använder du det här kommandot:
Get-MsolUser -ALL | Select-Object UserPrincipalName, WhenCreated | Export-CSV AllUsersWithWhenCreated.CSV -NoTypeInformation
En CSV-fil med filnamnet ”AllUsersWithWhenCreated.CSV” genereras i den lokala mappen.
Tip: PowerShell-cmdletten Export-CSV stöds för alla Windows PowerShell-cmdlets.
Söka efter användare
Du kan visserligen söka efter användare i Office 365 Admin Center, men genom att använda cmdlet Get-MsolUser har du möjlighet att lagra resultatet i en CSV-fil. Om du till exempel vill hämta en lista över användare som innehåller ”Rick” i visningsnamnet kör du följande kommando:
GET-MSOLUSER -SEARCHSTRING "RICK" | SELECT-OBJECT USERPRINCIPALNAME, ISLICENSED | EXPORT-CSV USERSWITHRICK.CSV -NOTYPEINFORMATION
List Users that are Enabled/Disabled
Du kan också använda cmdlet Get-MsolUser för att hämta en lista över användare som är aktiverade eller inaktiverade genom att lägga till parametern ”-EnabledFilter”. Parametern ”-EnabledFilter” har två värden: EnabledOnly och DisabledOnly som visas i dessa kommandon:
GET-MSOLUSER -ENABLEDFILTER ENABLEDONLY -ALL | EXPORT-CSV ENABLEDOFFICE365USERS.CSV -NOTYPEINFORMATION
GET-MSOLUSER -ENABLEDFILTER DISABLEDONLY -ALL | EXPORT-CSV DISABLEDOFFICE365USERS.CSV -NOTYPEINFORMATION
Det första kommandot hämtar de användare som är aktiverade medan det andra kommandot hämtar en lista över användare som för närvarande är inaktiverade.
Hämtning av synkroniserade användare
Office 365 gör det möjligt att implementera ett scenario med ”synkroniserad identitet” där användare från en lokal Active Directory synkroniseras med hjälp av verktygen DirSync, AADSync eller AADConnect och fylls på i Office 365 WAAD. Denna synkning eliminerar behovet av att skapa användare i Office 365 separat. Varje användare måste synkroniseras för att hämta uppdaterad information från den lokala Active Directory.
Det är viktigt att notera att Azure PowerShell cmdlets inte tillhandahåller en switch som du kan använda för att lista de användare som synkroniseras från On-Premises Active Directory. Det är detta som gör cmdlet Get-MSOlUser så kraftfull.
Alla användare som synkroniseras från On-Premises Active Directory tilldelas ett användarattribut som kallas ”ImmutableID”. ”ImmutableID”-attributet finns kvar när en användare synkroniseras från On-Premises Active Directory. Om du vill fråga efter synkroniserade användare och lagra resultatet i en CSV-fil kör du PowerShell-kommandot nedan:
GET-MSOLUSER -ALL | WHERE IMMUTABLEID -NE $NULL
Detta kommando instruerar Get-MSOlUser att fråga efter alla användare som inte har ett värde som tilldelats attributet ImmutableID.
Hämtning av senaste synkroniseringstidpunkt för användare
Varje användare som synkroniseras från en On-premises Active Directory kommer att ha en synkroniseringstidpunkt. De här kommandona hämtar den senaste synkroniseringstiden för en enskild användare eller flera användare.
För att få fram den senaste synkroniseringstiden för en enskild användare:
GET-MSOLUSER -USERPRINCIPALNAME "" | SELECT-OBJECT USERPRINCIPALNAME, LASTDIRSYNCTIME
Och om du vill köra det här kommandot för alla användare och lagra resultatet i en CSV-fil använder du det här kommandot:
GET-MSOLUSER -ALL | SELECT-OBJECT USERPRINCIPALNAME, LASTDIRSYNCTIME
Det finns annan värdefull information om Office 365-användare som du kan hämta med hjälp av kommandot Get-MsolUser PowerShell cmdlet, men du måste först veta om det finns tillgängliga egenskaper för Office 365-användaren som innehåller den nödvändiga informationen.
För att få en lista över användaregenskaper som är associerade med Office 365-användare kör du kommandot ”Get-MSOlUser | Get-Member”. När du vet vilka användaregenskaper som kan innehålla den nödvändiga användarinformationen använder du följande syntax för Get-MSOlUser för att hämta användarinformationen:
GET-MSOLUSER -USERPRINCIPALNAME "" | SELECT-OBJECT PROPERTY1, PROPERTY2, PROPERTY3
Hämtning av information för alla Office 365-användare
Du kanske har lagt märke till användningen av parametrarna -MaxResults eller -ALL i några av de PowerShell-kommandon som förklaras ovan. Som standard kan cmdlet Get-MsolUser endast hämta 500 användare i ett kommando.
Om det finns fler än 500 användare i en Office 365 WAAD måste du använda parametrarna -ALL eller -MaxResults. Parametern -MaxResults instruerar cmdlet Get-MsolUser att hämta upp till det värde som anges i parametern -MaxResults, medan du med parametern -ALL kan hämta resultat för alla Office 365-användare. Glöm inte att använda de här parametrarna utifrån dina kommandokrav.
Get-MSOLUSER för flexibilitet
Microsoft Office 365 tillhandahåller PowerShell-cmdlets som dramatiskt kan minska den tid det tar att utföra uppgifter via Office 365 Admin Center. Eftersom de flesta uppgifter i en Office 365-molnmiljö är kopplade till en användare ger användningen av Get-MsolUser PowerShell-cmdletten större flexibilitet när det gäller hantering av Office 365 WAAD-instanser.
Nirmal Sharma är MCSEx3, MCITP och Microsoft MVP inom Directory Services. Han är specialiserad på katalogtjänster, Microsoft Azure, Failover clusters, Hyper-V, System Center och Exchange Servers och har arbetat med Microsoft-teknik sedan 1994. På sin fritid gillar han att hjälpa andra och dela med sig av sina kunskaper genom att skriva tips och artiklar på olika webbplatser och bidra till Health Packs för ADHealthProf.ITDynamicPacks.Net-lösningar. Nirmal kan nås på
.
Leave a Reply