Innledning
I forrige artikkel i denne serien, jeg introduserte deg til flere begreper som du må forstå for å bruke ønsket tilstand Configuration Feature . I denne artikkelen vil jeg diskusjonen ved å vise deg hvordan å bygge en konfigurasjonsfil for å fortsette.
Som tidligere forklart, gjør ønsket tilstand konfigurasjon bruk av MOF filer. Men vi kan ’ t bygge en MOF-fil fra bunnen av. I stedet må vi lage en Powershell script og bruke dette skriptet til å generere en MOF-fil.
Jeg tilbrakte mye tid i den forrige artikkelen diskuterer Powershell funksjoner, og jeg nevnte også at Microsoft har innført en Powershell funksjon kalt Configuration. Konfigurasjons funksjonen vil være grunnlaget for vår script. Det første vi må gjøre er å tilordne konfigurasjonen et navn. Navnet bør være noe beskrivende som antyder manuset ’ s formål. Ved anvendelsen av denne artikkelen, jeg kommer til å bruke PoseyConfig som mitt navn konfigurasjon.
Den neste tingen du trenger for å lage en node blokk. En node blokken er veldig enkelt. Den angir navnet på noden (eller noder) som konfigurasjonen vil bli brukt
For å vise deg hvordan konfigurasjon navn og node blokker jobbe, la ’ s. Late som at vi ønsker å bruke ønsket tilstand Configuration funksjonen til å sørge for at Hyper-V-rollen er installert på en server som heter lab4. Den grunnleggende strukturen i konfigurasjonsfilen vil se slik ut:
Configuration PoseyConfig { Node “ lab4 ” { #This er der skriptet ’ s. faktiske koden ville gå } } Det første du må forstå om blokk med kode vist ovenfor er at indentions er ikke viktig. Jeg brukte indentions som en måte å bedre illustrere de ulike komponentene som utgjør manuset, men du don ’. T faktisk nødt til å bruke indentions Så som du ser på koden ovenfor, vil du se at den første linjen starter ved å ringe Configuration funksjon. Vi er også å påføre min valgte konfigurasjonen navn. Som enhver annen funksjon, er hele konfigurasjonen i klammeparenteser {} Den tredje linjen min script er Node “. Lab4 ”. Dette er en node blokk som forteller Powershell at konfigurasjonen bør brukes på en datamaskin som heter lab4. Koden under node blokk, befinner seg innenfor sitt eget sett med parenteser {}. I dette spesielle tilfelle bare inneholder noden blokken en kommentar. Du vil merke at kommentaren linje begynner med et nummertegn #. I Powershell, er linjer med kode som begynner med et firkanttegn behandles som kommentarer, og ikke utføre I hovedsak har vi opprettet en konfigurasjon script som inneholder en node blokk som doesn ’. T gjøre noe. Som jeg forklarte i forrige artikkel, er de faktiske konfigurasjonsoppgaver håndteres av leverandører. Powershell omfatter tolv innfødte leverandører, og det er også mulig å bygge tilpassede leverandører. Jeg har tidligere sagt at på grunn av demonstrasjonen, ville jeg bygge en konfigurasjon skript som ville sørge for at Hyper-V-rollen ble installert på en server som heter lab4. Vi brukte en node blokk å referere til lab4 server, men vi er nødt til å bruke en leverandør for å sjekke for eksistensen av Hyper-V-rollen. Den leverandør som vi skal bruke er den DSC Windows Feature Resources leverandøren. For å bruke denne leverandøren, må du vite hva navnet Powershell bruker for rollen eller funksjon som du vil referere til. Den enkleste måten å få denne informasjonen er å åpne Powershell og skriv Get-WindowsFeature. Gjør du det vil få Windows til å vise en liste over alle de roller og funksjoner, som vist i figur A. Som du kan se i figuren er Hyper-V-rollen ganske enkelt kalt Hyper-V. Powershell bekrefter at denne rollen er installert, men vår konfigurasjonsfil vil hjelpe oss å sørge for at rollen forblir installert Figur A:. Du kan bruke Get-WindowsFeature cmdlet for å hente en liste over alle Windows Server roller og funksjoner. Hvis målet ditt er å bruke konfigurasjonsfilen til å sørge for at en bestemt rolle (eller funksjonen) er installert, så er det to linjer med kode som du trenger for å bli kjent med . Den første av disse linjene er Sørg nett. Pass på linjen forteller Powershell hva du vil gjøre med den angitte rolle eller funksjon. Du kan enten “ sikre ” at rollen eller funksjonen er installert, eller du kan være sikker på at det ikke er installert. Hvis du vil være sikker på at den angitte rolle eller funksjon er installert så ville du satt Sørg for å “ Present ”. Hvis du vil være sikker på at den angitte rolle eller funksjon ikke er installert så ville du satt Sørg for å “ Fraværende ”. Den andre linjen med kode som du må skrive er Name linje. Navn linjen gir bare navnet på den rolle eller funksjon som du skal sjekke. Så med det sagt, la ’ s revidere skript som jeg opprettet tidligere, og legge til koden for å sørge for at Hyper-V-rollen er installert. Her er hva skriptet vil se ut: Configuration PoseyConfig { Node “ lab4 ” { WindowsFeature HyperVExample { < em> Sikre = “ Present ” Name = “ Hyper-V ” } } } Mye av skriptet vist ovenfor er identisk med hva jeg tidligere viste deg, men la ’ s gå gjennom den nye delen linje for linje. Nok en gang er vår node blokk innkapslet i klammeparenteser {} og alle de nye koden konstateres innen node blokk bukseseler. Så med det sagt, er den første nye kodeblokken WindowsFeature HyperVExample. Det er et par ting som skjer i denne linjen med kode. Først blir vi refererer DSC Windows Feature leverandør, fordi det er den leverandør som er i stand til å sjekke for eksistensen av roller og funksjoner. Som dere husker imidlertid nevnte jeg at det er mulig å lage egne leverandører. Når du oppretter en egendefinert leverandør, hva du egentlig lage en funksjon. Det bør derfor ikke komme som noen overraskelse at de opprinnelig inkluderte leverandører er også funksjoner. Derfor er WindowsFeature et navn, men det er egentlig en funksjon navn. Så hvorfor er det viktig? Vel, etter at jeg spesifisert WindowsFeature, gikk jeg HyperVExample. HyperVExample er et navn som jeg har gjort opp. Jeg tildele navnet til denne blokk med kode, akkurat som jeg gitt navnet PoseyConfig til konfigurasjonsfilen som helhet. Som du ser gjennom manuset, vil du legge merke til at jeg ikke bruker HyperVExample hvor som helst ellers. I dette tilfellet har jeg tildelt HyperVExample som et navn, men jeg er faktisk ikke gjør noe med det. Grunnen til at jeg valgte å inkludere dette navnet er fordi de fleste virkelige verden konfigurasjonsfiler er langt mer kompleks enn det jeg har vist ovenfor. Disse filene kan bruke flere leverandører til å utføre flere oppgaver. Tildele et navn til en oppgave gir deg muligheten til å referere til oppgaven fra andre steder i manuset. For eksempel kan du sjekke for å være sikker på at en navngitt oppgave er fullført før du starter en annen oppgave. Som enhver annen funksjon, bruker WindowsFeature funksjon bukseseler å kapsle sin kode. Det er bare to kommandoer innenfor selve funksjonen. Vi er sikre på at det angitte rolle er til stede, og da vi gir navnet på rollen. I denne artikkelen har jeg vandret deg gjennom opprettelsen av et skript eksempelkonfigurasjon. I neste artikkel i denne serien, vil jeg vise deg hvordan du kan bruke dette skriptet til å opprette en MOF-fil. Etter at jeg vise deg hvordan du bruker den ønskede tilstand konfigurasjon, er planen min å se manuset og vise deg noen ekstra scripting teknikker. Anmeldelser
Konklusjon