Microsoft har lagt ner mycket arbete på att ge utvecklare ett kraftfullt, lättanvänt scriptverktyg i PowerShell scripting. Och PowerShell scripting används inte bara för att hantera Windows-operativsystem, Microsoft har också utökat funktionerna i PowerShell för att automatisera Azure-uppgifter.,
innan Microsoft introducerade PowerShell, var du tvungen att använda VB-skriptspråk för att hämta användare, dator och annan objektinformation när du interagerar med Active Directory-databasen. Utvecklare var inte bara tvungna att hantera smärtan att skriva flera rader av koder, du var också tvungen att se till att alla relaterade operativsystemkomponenter fungerade korrekt så att VB-skriptet kunde fungera framgångsrikt.
PowerShell har minskat overhead av skript dramatiskt., När du interagerar med Active Directory behöver du inte skriva en överdriven mängd kod. Bara använda Active Directory PowerShell cmdlets kommer att ge den begärda informationen. I den här artikeln kommer vi att ge ett PowerShell-skript som du kan använda för att förbereda en rapport om Active Directory-användare.
PowerShell tillhandahåller Get-ADUser cmdlet, som kan användas för att hämta information om Active Directory-användare. Get-ADUser cmdlet innehåller ett antal olika egenskaper som du kan kombinera med kommandot Get-ADUser för att hämta informationen., Om du till exempel behöver samla bara avdelningen och det utmärkta namnet på en användare från active directory, kommer följande kommando att göra tricket:
Get-ADUser -Identity JohnThomas -Properties Department, DistinguishedName
det här kommandot kommer att returnera avdelningen och det utmärkta namnet på användaren JohnThomas., Om du behöver hämta avdelningen och framstående namninformation för alla användare eller användare som finns i en viss organisationsenhet kan du använda det här PowerShell-kommandot:
Get-ADUser * -Properties Department, DistinguishedName -SearchBase "OU=Users, DC=Server, DC=Com"
som du kan se i ovanstående kommando använder vi ett jokertecken,”*”, för att hitta alla användare som finns i organisationsenheten ”OU=Users, DC=Server, DC=Com”., Om du behöver exportera utdata till en CSV-fil kan du lägga till cmdlet Export-CSV PowerShell som visas i kommandot nedan:
medan kommandot ovan PowerShell hämtar information om alla användare i en viss organisationsenhet, kanske du bara vill exportera användare vars avdelning är ”försäljning” eller ”Finans” och spara sedan utdata till en CSV-fil. I fall som detta där du måste ange ett villkor för PowerShell-kommandot, föredras användningen av PowerShell scripting.
låt oss titta på hur du bara kan få de användare vars avdelning egendom är inställd på ”försäljning.,”Genom att använda PowerShell-skriptet nedan kommer du att generera en CSV-fil i C: Temp med filnamnet UserSales.CSV som kommer att ha alla användarnamn, avdelning och framstående namninformation.
På samma sätt, om du behöver skapa en rapport från alla användare i ekonomiavdelningen, kommer helt enkelt att ersätta ”försäljning” med ”ekonomi” i ovanstående skript att göra.
låt oss säga att du håller på att standardisera din Active Directory-användardatabas och vill se till att alla användare i organisationen har sin landskod inmatad., Vad du kan göra är att använda samma skript som nämns ovan och använda egenskapen ”land” för användaren.
nedan hittar du ett PowerShell-skript som kontrollerar användarnas ”land” – egendom och kontrollerar sedan om landsegenskapen är tom. Om landsegenskapen är tom kommer användaren att inkluderas i den genererade CSV-filen.
slutsats
Get-ADUser PowerShell cmdlet är en kraftfull cmdlet för att snabbt identifiera användare och deras information i Active Directory. Du kan hämta all användarinformation med hjälp av Get-ADUser cmdlet.,
i den här handledningen tillhandahöll vi några PowerShell-kommandon med Get-ADUser cmdlet och tillhandahöll även PowerShell-skript som hjälper till att samla användarinformation baserat på olika villkor och spara denna information till en CSV-fil för rapporteringssyfte.
Nirmal Sharma är en MCSEx3, MCITP och Microsoft MVP inom Directory Services. Han specialiserar sig på katalogtjänster, Microsoft Azure, Failover clusters, Hyper-V, System Center och Exchange-servrar, och har varit involverad i Microsoft technologies sedan 1994., På fritiden gillar han att hjälpa andra och dela med sig av sin kunskap genom att skriva tips och artiklar på olika platser och bidra till hälsopaket för ADHealthProf.ITDynamicPacks.Net lösningar. Nirmal kan nås på .
följ ServerWatch på Twitter och på Facebook