Megosztás a következőn keresztül:


about_DesiredStateConfiguration

Rövid leírás

Rövid bevezetést nyújt a PowerShell Desired State Configuration (DSC) szolgáltatásba.

Hosszú leírás

A DSC egy felügyeleti platform a PowerShellben, amely lehetővé teszi a szoftverszolgáltatások konfigurációs adatainak üzembe helyezését és kezelését, valamint a szolgáltatások futtatásának környezetét.

A DSC PowerShell-nyelvi bővítményeket, új parancsmagokat és erőforrásokat biztosít, amelyekkel deklaratív módon meghatározhatja a szoftverkörnyezet állapotának konfigurálását. Emellett a meglévő konfigurációk karbantartását és kezelését is lehetővé teszi.

A DSC a PowerShell 4.0-s kiadásában érhető el.

A DSC-vel kapcsolatos részletes információkért tekintse meg a PowerShell kívánt állapotkonfigurációjának áttekintését.

DSC-erőforrások fejlesztése osztályokkal

A PowerShell 5.0-tól kezdve osztályokkal fejleszthet DSC-erőforrásokat. További információ: about_Classes és egyéni DSC-erőforrás írása PowerShell-osztályokkal.

A DSC használata

A környezet konfigurálásához először definiáljon egy PowerShell-szkriptblokkot a Konfiguráció kulcsszóval, majd egy azonosítót, amelyet a blokkot elválasztó kapcsos zárójelpár követ. A konfigurációs blokkon belül megadhatja azokat a csomópontblokkokat, amelyek a környezet minden csomópontja (számítógépe) számára megadják a kívánt konfigurációs állapotot. A csomópontblokkok a Node kulcsszóval kezdődnek, amelyet a célszámítógép neve követ, amely változó lehet. A számítógép neve után jöjjön a csomópontblokkot elválasztó kapcsos zárójel. A csomópontblokkon belül definiálhat erőforrásblokkokat adott erőforrások konfigurálásához. Az erőforrásblokkok az erőforrás típusnevével kezdődnek, majd az adott blokkhoz megadni kívánt azonosító, majd a blokkot elválasztó kapcsos zárójelek, ahogyan az az alábbi példában is látható.

Configuration MyWebConfig {
    # Parameters are optional
    param ($MachineName, $WebsiteFilePath)
    # A Configuration block can have one or more Node blocks
    Node $MachineName
    {
        # Next, specify one or more resource blocks
        # WindowsFeature is one of the resources you can use in a Node block
        # This example ensures the Web Server (IIS) role is installed
        WindowsFeature IIS
        {
            # To ensure that the role is not installed, set Ensure to "Absent"
            Ensure = "Present"
            Name = "Web-Server" # Use the Name property from Get-WindowsFeature
        }

        # You can use the File resource to create files and folders
        # "WebDirectory" is the name you want to use to refer to this instance
        File WebDirectory
        {
            Ensure = "Present"  # You can also set Ensure to "Absent"
            Type = "Directory" # Default is "File"
            Recurse = $true
            SourcePath = $WebsiteFilePath
            DestinationPath = "C:\inetpub\wwwroot"

            # Ensure that the IIS block is successfully run first before
            # configuring this resource
            DependsOn = "[WindowsFeature]IIS"  # Use for dependencies
        }
    }
}

Konfiguráció létrehozásához ugyanúgy hívja meg a Konfiguráció blokkot, mint egy PowerShell-függvényt, és adja meg az esetlegesen definiált várt paramétereket (a fenti példában kettő). Ebben az esetben például:

MyWebConfig -MachineName "TestMachine" -WebsiteFilePath `
  "\\filesrv\WebFiles" -OutputPath "C:\Windows\system32\Temp"
# OutputPath is optional

Ez csomópontonként létrehoz egy MOF-fájlt a megadott elérési úton. Ezek az MOF-fájlok határozzák meg az egyes csomópontok kívánt konfigurációját. Ezután használja a következő parancsmagot a konfigurációs MOF-fájlok elemzéséhez, az egyes csomópontok megfelelő konfigurációjának elküldéséhez és a konfigurációk végrehajtásához. Vegye figyelembe, hogy nem kell külön MOF-fájlt létrehoznia az osztályalapú DSC-erőforrásokhoz.

Start-DscConfiguration -Verbose -Wait -Path "C:\Windows\system32\Temp"

A DSC használata a konfigurációs állapot fenntartásához

A DSC-vel a konfiguráció idempotens. Ez azt jelenti, hogy ha a DSC használatával többször is alkalmazza ugyanazt a konfigurációt, az eredményként kapott konfigurációs állapot mindig ugyanaz lesz. Emiatt, ha azt gyanítja, hogy a környezet bármely csomópontja eltávolodhatott a kívánt konfigurációs állapottól, ugyanezt a DSC-konfigurációt újra alkalmazhatja, hogy visszahozza őket a kívánt állapotba. Nem kell módosítania a konfigurációs szkriptet, hogy csak azokat az erőforrásokat kezelje, amelyek állapota eltért a kívánt állapottól.

Az alábbi példa bemutatja, hogyan ellenőrizheti, hogy egy adott csomópont konfigurációjának tényleges állapota eltért-e a csomóponton legutóbb életbe léptetett DSC-konfigurációtól. Ebben a példában a helyi számítógép konfigurációját ellenőrizzük.

$session = New-CimSession -ComputerName "localhost"
Test-DscConfiguration -CimSession $session

Beépített DSC-erőforrások

A konfigurációs szkriptekben a következő beépített erőforrásokat használhatja:

Név Tulajdonságok
Fájl {DestinationPath, Attribútumok, Ellenőrzőösszeg, Tartalom...}
Archívum {Cél, elérési út, ellenőrzőösszeg, hitelesítő adatok...}
Környezet {Name, DependsOn, Ensure, Path...}
Csoport {GroupName, Credential, DependsOn, Description...}
Napló {Message, DependsOn, PsDscRunAsCredential}
Csomag {Név, elérési út, termékazonosító, argumentumok...}
Beállításjegyzék {Key, ValueName, DependsOn, Ensure...}
Szkript {GetScript, SetScript, TestScript, Credential...}
Szolgáltatás {Name, BuiltInAccount, Credential, Dependencies...}
User {UserName, DependsOn, Leírás, Letiltva...}
WaitForAll {NodeName, ResourceName, DependsOn, PsDscRunAsC...}
WaitForAny {NodeName, ResourceName, DependsOn, PsDscRunAsC...}
WaitForSome {NodeCount, NodeName, ResourceName, DependsOn...}
WindowsFeature {Name, Credential, DependsOn, Ensure...}
WindowsOptionalFeature {Name, DependsOn, Ensure, LogLevel...}
WindowsProcess {Argumentumok, elérési út, hitelesítő adatok, DependsOn...}

A rendszeren elérhető DSC-erőforrások listájának lekéréséhez futtassa a Get-DscResource parancsmagot.

Feljegyzés

A 7.0 Get-DscResource alatti PowerShell-verziókban nem találhatók osztályalapú DSC-erőforrások.

A jelen témakörben szereplő példa bemutatja, hogyan használhatja a Fájl és a WindowsFeature erőforrásokat. Ha meg szeretné tekinteni az erőforrással használható összes tulajdonságot, szúrja be a kurzort az erőforrás kulcsszójába (például Fájl) a PowerShell ISE konfigurációs szkriptjéhez, tartsa lenyomva a CTRL+SZÓKÖZ BILLENTYŰT

További erőforrások keresése

Letöltheti, telepítheti és megismerheti a PowerShell és a DSC felhasználói közössége, valamint a Microsoft által létrehozott számos más elérhető DSC-erőforrást. Keresse fel a PowerShell-galéria, és ismerje meg a rendelkezésre álló DSC-erőforrásokat.

Lásd még