Installere Active Directory og Lage en ny Forest
Den første oppgaven er å installere Active Directory Domain Services (AD DS) rolle. AD DS er installert ved å kjøre følgende Powershell-kommando.
Figur 1
Å kjøre skriptet nedenfor fullfører installeringen av den første domenekontroller i en ny Active Directory Forest
Import-Module ADDSDeployment
Installer-ADDSForest `
-CreateDnsDelegation: $ false`
-DatabasePath "C: \\ Windows \\ NTDS" `
- DomainMode "Win2012R2" `
-DomainName" LanzTek.local "`
-DomainNetbiosName "LANZTEK" `
-ForestMode" Win2012 "`
- InstallDns: $ true `
-LogPath" C: \\ Windows \\ NTDS "`
-NoRebootOnCompletion: $ false `
-SysvolPath" C: \\ Windows \\ SYSVOL " `
-Force: $ true
Dette skriptet er nyttig i en Server Core-installasjonen der du ikke har direkte tilgang til Windows grafisk grensesnitt for å installere AD DS
. Bare to cmdlets: Import-Module og installer-ADDSForest brukes i dette skriptet. Import-Module legger ADDSDeployment modulen til den gjeldende økten gjør alle cmdletene forbundet med den modulen tilgjengelig så lenge økten forblir åpent. I Powershell 3.0 og nyere, er installert moduler automatisk importert til en økt når en cmdlet som tilsvarer en bestemt modulen brukes.
Installer-ADDSForest cmdlet installerer AD DS på en Windows Server 2012 R2 server og skaper en nye Active Directory-skogen konfigurasjon. La ’ s gjennomgå Installer-ADDSForest parametrene som brukes i dette skriptet:
-CreateDnsDelegation: $ false – Fordi domenekontrolleren er også kommer til å bli konfigurert som en DNS-server, er denne parameteren brukes for å signalisere om en DNS-delegasjonens referanser denne nye DNS server og navnet plass
-DatabasePath “ C:. \\ Windows \\ NTDS ” – Angir plasseringen av Active Directory databasen
-DomainMode “. Win2012R2 ″ – Definerer domenet funksjonelt nivå for første domenet i den nye skogen. Denne parameteren kan være enten en streng eller en heltallsverdi. Følgende alternativer støttes:
* Windows Server 2012 R2: Win2012R2 eller 6
* Windows Server 2012: Win2012 eller 5
* Windows Server 2008 R2: Win2008R2 eller 4
* Windows Server 2008: Win2008 eller tre
* Windows Server 2003: Win2003 eller 2
-DomainName “ LanzTek.local ” – Dette er fullt kvalifiserte domenenavnet for root domene i skogen
-DomainNetbiosName “. LANZTEK ” – Angir NetBIOS-navnet for root domenet. Selv om du ikke har tenkt til å bruke noen NetBIOS programmer, må denne parameteren være konfigurert med en gyldig enkelt etikett navn som inneholder mer enn 15 tegn. Hvis NetBIOS-navnet er mer enn 15 tegn, mislykkes skogen installasjon
-ForestMode “. Win2012 ″ – Denne parameteren definerer skogen funksjonelt nivå for den nye skogen. Den støtter de samme verdi alternativer som domenenavn parameter
-InstallDns. $ True – Angir at DNS-servertjenesten vil bli installert i denne domenekontroller. Som standard er en ny Active Directory Integrert DNS sone opprettet med navnet på domenet. I dette tilfellet, lanztek.local
-LogPath “ C:. \\ Windows \\ NTDS ” – Angir plasseringen av AD DS loggfiler
-NoRebootOnCompletion. $ False - Viser om å restarte serveren etter ferdigstillelse. En omstart er nødvendig for den nye domenekontroller for å bli fullt funksjonell
-SysvolPath “ C:. \\ Windows \\ SYSVOL ” – Angir plasseringen til SYSVOL mappen. En sysvol networkshare blir automatisk opprettet i SYSVOL mappen som en del av AD DS installasjonsprosessen
-Force. $ True – Denne para demper enhver normal advarsel som er generert under installasjonen.
Active Directory-modul for Windows Powershell
Etter å ha kjørt skriptet, er en Active Directory-modul for Windows Powershell installert på domenekontrolleren. Denne modulen blir automatisk importert inn i en Powershell-sesjon hver gang du prøver å bruke en av sine cmdlets. Ved å bruke implisitt remoting, kan denne modulen importeres til en Windows-klient eller en Windows Server-datamaskin som ikke har Active Directory installert, og derfra kan du utføre ekstern administrasjon av Active Directory. Denne modulen er også tilgjengelig som en del av den eksterne serveren administrasjonsverktøy som kan installeres på Windows 7 eller Windows 8 klienter samt medlemsservere som kjører Windows Server 2008 R2, Windows 2012 eller Windows 2012 R2. AD modulen bruker Active Directory Web Services (ADWS) tjeneste til å kommunisere og administrere Active Directory. Forresten, er Active Directory Administrative Center (ADAC) et grafisk grensesnitt som sitter på toppen av Windows Powershell så det må også ADWS å fungere.
Active Directory Powershell Drive (PSDrive) Provider
Active Directory-modulen inneholder en PSDrive leverandør som gjør at du kan se gjennom innholdet i katalogen på en måte som er svært lik hvordan du navigere i filsystemet. Importere AD modulen tilordner en stasjon som heter AD: til domenet som du er logget på. Denne stasjonen gir en sikkerhet rammeverk for gjennomføring cmdletene. Hver gang du utfører en aktiv katalog cmdlet, bruker Powershell automatisk legitimasjon og domenet for øyeblikket kartlagt PSDrive. Uten denne funksjonaliteten vil du måtte oppgi påloggingsinformasjon hver gang du kjører en aktiv katalog cmdlet eller skript. For å se innholdet i AD PSDrive, kjøre denne kommandoen:
Get-ChildItem AD:
Figur 2
Utgangen viser alle aktive katalog partisjoner. Derfra kan du navigere dypere inn i noen av disse partisjonene å verifisere konfigurasjoner eller gjøre endringer i AD objekter. For eksempel, la ’ s ser inn i domenet partisjonen ved å utføre denne kommandoen:
Get-ChildItem AD: \\ "dc = lanztek, dc = local"
Figur 3
For å se bare brukernes kontoer i Brukere-container, kjør:
Get-ChildItem AD: \\ "cn = brukere, dc = lanztek, dc = local" | ? {. $ _ object -eq "bruker"}
Figur 4
Nå, la ’ s si at vi ønsker å gjøre en endring på administratorkontoen ved å endre avdeling eiendommens verdi. Denne kommandoen vil gjøre susen:
Set-ItemProperty -Path AD: \\ "cn = Administrator, cn = brukere, dc = lanztek, dc = local" `
-Name" avdeling " -verdi "Information Technology"
Figur 5
På den forrige kommandoen – banen brukes til å peke på plasseringen av administratorkontoen inni Brukere container. Den – Navn parameter angir egenskapen til å endre, i dette tilfellet den avdelingen, og til slutt – Verdi parameter angir avdelingen etikett eller betegnelse for at brukeren
Ved hjelp av denne kommandoen er mulig å verifisere endringen.:
Get-ADUser administrator -Properties * | Format-List DistinguishedName, navn, avdeling
Figur 6
Som vi kan se i de foregående eksemplene, er det mulig å administrere Active Directory ved å ha direkte tilgang til AD PSDrive. Men ved hjelp av Active Directory-modul for Windows Powershell cmdlets er en mer pragmatisk tilnærming til å automatisere mange AD administrasjonsoppgaver
Opprette og aktivere annonseBrukerKontoer
Let ’ s. Start ved å opprette en brukerkonto hjelp av New-ADUser cmdlet:
Ny-ADUser -Name "Will Lanz" -SamAccountName "wlanz" `
-GivenName" Will "-Surname" Lanz "-DisplayName" Will Lanz " `
-UserPrincipalName" [email protected]~~number=plural "` -Path "OU = Sales, DC = lanztek, DC = local"
-Department "IT"
Dette kommandoen oppretter en brukerkonto i Salgsorganisasjonsenhet på lanztek.local domene. Imidlertid har ingen passord er tastet inn, og kontoen vil bli deaktivert. For å bekrefte at kontoen ble opprettet, kjører denne kommandoen:
Get-ADUser wlanz
Figur 7
La ’ s opprette et passord og aktiverer wlanz konto ved å kjøre koden under:
Set-ADAccountPassword -Identity wlanz -Reset -NewPassword`
(ConvertTo-SecureString -AsPlainText "Pa $$ w0rd" -Force)
Aktiver-ADAccount -Identity wlanz
Det er viktig å merke seg at av sikkerhetsmessige grunner Powershell ikke passerer en klartekst passord til Active Directory uten kryptering. Den – NewPassword parameter må lagre sin verdi som en kryptert streng. I dette tilfellet er ConvertTo-SecureString -cmdlet brukes til å konvertere ren tekst passordet til en sikker streng. Den – AsPlainText parameteren angir at ren tekst string “ Pa $$ w0rd ” må konverteres til en sikker streng. Dette sikrer at teksten vil bli kryptert og slettes fra datamaskinens minne etter at det ikke lenger er nødvendig. Den – Force parameteren brukes i forbindelse med – AsPlainText parameter for å bekrefte krypteringsprosessen
For å bekrefte at kontoen er aktivert, kjører denne kommandoen igjen.
Get-ADUser wlanz
Figur 8
Opprette en brukerkonto og slik at det senere kan være nødvendig i noen situasjoner, men i mange tilfeller kan det være lurt å opprette og aktivere kontoen som en del av den samme prosessen. La ’ s gjøre det neste ved å kjøre disse kommandoene:
Ny-ADUser -Name "Vito Corleone" -SamAccountName "Vcorleone" `
-GivenName" Vito "-Surname" Corleone "-DisplayName "Vito Corleone" `
-UserPrincipalName" [email protected] "-aktiverte $ true`
-Path "OU = Sales, DC = lanztek, DC = local" -Department "Sales "`
-AccountPassword (ConvertTo-SecureString "Pa $$ w0rd" `
-AsPlainText -Force)
I forrige koden vi brukte New-ADUser cmdlet igjen , men denne gangen to parametre – AccountPassword og – Aktivert ble lagt til sikkert konfigurere et passord og for å aktivere kontoen
Administrere flere AD User Accounts
Hundrevis og tusenvis av brukerregnskapsførere. kan opprettes og forvaltes i Active Directory med noen få linjer med kode. La ’ s demonstrere denne prosedyren ved å importere brukernavnene og egenskaper fra en kommaseparert fil (CSV). La ’ s si at du må opprette flere brukerkontoer, kan du generere en CSV-fil med alle kontoene ’ informasjon og bruke den Import-CSV cmdlet å importere og deretter pipe som data til New-ADUser cmdlet. New-ADUser cmdlet plukker opp alle parametere navn og verdier fra Powershell rørledningen og skaper brukerkontoer i katalogen. Figuren nedenfor viser CSV-filen som brukes i vår demonstrasjon.
Figur 9
Som du kan se, de kolonneoverskriftene kamp parameternavnene tilgjengelige med New-ADUser cmdlet.
Når CSV-filen er klar, vil kjøre følgende skript opprette alle brukerkontoer i katalogen
Import-Csv -Path c:. \\ scripts \\ Users \\ users.csv | Bedrifter
foreach {New-ADUser -Name $ _. navn -aktiverte $ true `
-AccountPassword (ConvertTo-SecureString $ _. passord`
-AsPlainText -Force) `
-SamAccountName $ _. sAMAccountName -City $ _. byen `
-Department $ _. Department -EmployeeID $ _. AnsattID`
-Path "OU = salg, DC = lanztek, DC = local "}
foreach er brukt her å sløyfe gjennom data én rad om gangen. For hver rad, er en ny AD brukerkonto opprettet av New_ADUser cmdlet. Scriptene direkte Powershell til å opprette brukerkontoer i Sales organisasjonsenhet på lanztek.local domene
La ’ s kontrollere at brukerkontoer ble opprettet i Salgs OU ved å utføre denne koden:.
< p> Get-ADUser -Filter * -SearchBase "OU = salg, dc = lanztek, dc = local" | Bedrifter
Format-tabellen navn, DistinguishedName, Enabled -AutoSize
Figur 10
Når brukerkontoer er opprettet, kan mange styring og vedlikeholdsoppgaver automatiseres ved hjelp av Windows Powershell. For eksempel figuren ovenfor viser at det er ni kontoer i Sales OU. La ’ s si at vi ønsker å flytte alle disse brukerne til Finance OU. Denne koden vil fullføre oppgaven:
Get-ADUser -Filter * -SearchBase "OU = salg, dc = lanztek, dc = local" | Bedrifter
Move-ADObject -TargetPath "OU = Finance , DC = lanztek, DC = local "
Det kan være andre AD objekter i Sales OU, men den forrige koden bruker Get-ADUser cmdlet å trekke kun brukerkontoer fra Sales OU og rør resultatene til Move-ADObject cmdlet. Move-ADObject cmdlet i sin tur utfører flytting av regnskapene til Finance OU.
Ved hjelp av brukerkontoer egenskaper er det mulig å raskt finne brukere i katalogen som oppfyller bestemte kriterier på Powershell søk. For eksempel ønsker vi å finne AD brukere som jobber i operasjonsavdelingen og bor enten i Denver eller Dallas. Koden for å søke etter data er:
Get-ADUser -Filter `
'(by -eq" denver "-eller byen -eq" Dallas ") -og (departement – eq "operasjoner") '`
-properties * | Velg Objekt-navn, avdeling, by
Her er resultatene:
Figur 11
Administrere AD brukere og grupper er også mer effektiv med Powershell. La ’ s si at vi ønsker å finne alle brukere som jobber i operasjonsavdelingen og legge dem til i en gruppe som heter Operations. Se koden nedenfor:
$ OpsUsers = Get-ADUser -Filter 'avdeling -eq "Operations"'
Add-ADGroupMember -Identity operasjoner -Members $ OpsUsers
– Medlemmer parameter i Add-ADGroupMember ikke godtar innspill rørledningen. Å gå rundt som ulempe, er $ OpsUsers variabel opprettet for å samle alle brukere som jobber i operasjonsavdelingen. Da passerer vi den variabelen direkte til – Medlemmer parameter for å legge disse brukerne til Operations gruppe
Denne koden vil bekrefte medlemstall på Operations gruppen.
Get-ADGroupMember -Identity Operations | Bedrifter
FT navn, DistinguishedName -AutoSize
Avsluttende bemerkninger
Denne artikkelen fokuserer på å bruke Windows Powershell for å installere Active Directory Domain Services og administrere AD brukerkontoer. Når AD DS er installert, Active Directory-modul for Windows Powershell er tilgjengelig sammen med en AD PSdrive som gir en sikkerhet kontekst for å kjøre AD relaterte cmdlets. Med over 140 cmdlets, er denne modulen et kraftig verktøy for å administrere og automatisere oppgaver knyttet ikke bare til AD brukerkontoer, men for alle andre AD objekter også. Å kunne utføre disse jobbene fra en ekstern datamaskin er trolig en av de beste mulighetene i Windows Powershell. Jeg vilje utelatt snakker om Powershell Remoting fordi det er det viktigste temaet i vår neste artikkel i denne Powershell serien.
Denne artikkelen ble opprinnelig publisert av Infosec Institute
.