Vi viser deg hvordan du kan håndtere brukerobjekter i Active Directory med Powershell.
Hvordan bruke Microsoft`s Active Directory-modul
Vi skal ikke gå gjennom hver enkelt commando, men kun de mest brukte som har med håndtering av brukerobjekter å gjøre. For de andre kommandoene (og generelt for alle PowerShell-kommandoer) kan du benytte Get-Help kommandoen, for eksempel:
Get-Help New-ADUser
Dette vil gi en beskrivelse av New-ADUser kommandoen, samt liste opp alle tilgjengelige parametre.
Mange kommer lettere i gang ved å se eksempler på bruk av en kommando, dette kan du få ved å legger til parameteren –Examples:
Get-Help New-ADUser -Examples
Eksempler på brukerhåndtering:
Get-ADUser “brukernavn” lister opp info for angitt bruker:

Denne informasjonen kan brukes i flere kommandoer ved å “pipe” output fra en kommando videre til neste kommando. Dette gjøres ved å bruke PowerShell`s pipe-symbol som er |.
I dette eksempelet er output fra forrige eksempel pipet videre til kommandoen Set-ADUser med en parameter for å sette “Department”-verdien, og en parameter for å sette “City”-verdien på brukerobjektet:

Vi kan også jobbe med flere brukerobjekter samtidig. I dette eksempelet henter vi alle brukere (angitt med filteret * som er et wildcard) fra en bestemt Organizational Unit (OU) som er angitt med parameteren “SearchBase”:

Dette kan pipes videre til en kommando som heter Select-Object hvor vi angir hvilke brukerattrubutter vi vil hente. Resultatet pipes til slutt til kommandoen Export-Csv som lar oss eksportere output til en angitt csv-fil. Den kommaseparerte filen (csv-filen) kan for eksempel åpnes i Excel og lagres i xlsx-format, eller benyttes til andre formål som for eksempel rapportering.

Csv-filen ser slik ut, åpnet i Notepad:

Kommandoen vi brukte for å hente alle brukere i en bestemt OU kan brukes som en del av andre kommandoer, for eksempel Add-ADGroupMember.
Dette eksempelet henter alle brukerne i den angitt OU`en og legger de til som medlemmer i gruppen angitt med parameteren “Identity”:

Her henter vi alle brukere i angitt OU og deaktiverer/aktiverer brukerobjektene ved å pipe output videre til henholdsvis Disable-ADAccount og Enable-ADAccount:

Det siste eksempelet vi skal se på er oppretting av brukere.
Dette gjøres i sin enkleste form slik med kommandoen New-ADUser:

Dette oppretter en deaktivert bruker i den innebygde “Users”-containeren i Active Directory. Man må sette et passord på brukeren og eventuelt flere attributter, og til slutt aktivere brukeren med Enable-ADAccount kommandoen:

Passordet er lagret kryptert i en variabel som heter $passord.
Skal man opprette for eksempel 500 brukere vil det være en stor jobb å manuelt opprette disse i det grafiske grensesnittet “Active Directory Users and Computers”.
Til slutt skal vi derfor se på hvordan man kan opprette flere brukere samtidig med Active Directory-modulen i PowerShell, såkalt bulk-oppretting.
Dette krever at vi har en brukeroversikt i csv-format. Dette kan lages enkelt om man har en oversikt over brukerne i et Excel-ark, vedå lagre dokumentet i csv-format.
I dette eksempelet har vi en csv-fil lagret på C: emprukere.csv som ser slik ut:

Den første linja vil automatisk benyttes som såkalte headere, så bruk beskrivende navn på disse.
På linje 1 og 2 angir vi et passord for de nye brukerne i en kryptert variabel (“SecureString”) som i forrige eksempel.
På linje 3 lagrer vi innholdet i csv-fila som en variabel ved hjelp av Import-Csv kommandoen.
På linje 4 skjer selve brukeropprettingen:

Variabelen $brukere pipes videre til kommandoen Foreach-Object som vil utføre det som angis i såkalte “curly braces” for hver bruker som er importert fra csv-fila:
New-ADUser kommandoen kalles med parameteren Name som skal gis verdi fra headeren “Navn” i csv-fila. Tilsvarende gis parameteren SamAccountName verdi fra headeren “Brukernavn”.
“$_” betyr “gjeldende objekt” i PowerShell, altså det objektet som behandles i pipeline.
Til slutt aktiveres hver konto ved å pipe til Enable-ADAccount.
Når vi tar en titt i “Active Directory Users and Computers” ser vi at de 5 brukerobjektene er opprettet under “Users”-containeren:

Da er det opp til deg selv å prøve deg frem med Active Directory-modulen, er du usikker vil jeg anbefale å gjøre testing i et lab-miljø siden det vil få store konsekevenser om man skulle gjøre noe feil i et produksjonsmiljø.
Ressurser
Det fins også mye gode ressurser på internett for å komme i gang, spesielt vil jeg anbefale å laste ned “Active Directory PowerShell Quick Reference” laget av Jonathan Medd. Dette er et fint oppslagsverk inntil man får kommandoer og teknikker i fingrene.
Ta også en titt på TechNet Script Center-sidene hos Microsoft. I tillegg til mange nyttige artikler og tips, blant annet Hey, Scripting Guy-bloggen, finner du også Technet Script Center Gallery hvor du kan laste ned ferdige PowerShell-script. Blant annet for administrasjon av Active Directory.
Spør gjerne om hjelp til PowerShell-relaterte utfordringer i supportforumet her på ITPro, og kom gjerne med ønsker om det er spesielle områder innen PowerShell du vil se artikler om.

Sender din rapport, vennligst vent...