Administrasjon av Active Directory med Windows PowerShell

Administrasjon av Active Directory med Windows PowerShell

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.

Page 2 of 212
Sender din rapport, vennligst vent...

Ved å rapportere en artikkel gjør du forfatteren oppmerksom på en eventuell feil i artikkelen. Dette vil hjelpe oss til å rette opp feilen så fort som mulig.


Rapport:
Skriv din rapport:
(frivillig)