DSC-erőforrások

A 4.0-s és újabb Windows PowerShell vonatkozik.

Áttekintés

Desired State Configuration (DSC) erőforrások biztosítják a DSC-konfiguráció építőelemét. Az erőforrás olyan tulajdonságokat tesz elérhetővé, amelyek konfigurálhatók (séma), és tartalmazzák azokat a PowerShell-szkriptfüggvényeket, amelyeket a Helyi Configuration Manager (LCM) meghív a "make it" (így legyen).

Az erőforrások fájlként vagy IIS-kiszolgálóbeállításként is modellezhetnek valamit. A hasonló erőforrások csoportjai egy DSC-modulba vannak kombinálva, amely az összes szükséges fájlt egy hordozható struktúrába rendezi, és metaadatokat tartalmaz az erőforrások felhasználási módjának azonosításához.

Minden erőforrás rendelkezik egy *sémával, amely meghatározza az erőforrás konfigurációban való használatához szükséges szintaxist. Az erőforrás sémája a következő módokon határozható meg:

  • Schema.Moffájl: A legtöbb erőforrás a felügyelt objektumformátum használatával definiálja a sémáját egy schema.mof fájlban.
  • <Resource Name>.schema.psm1fájl: Az összetett erőforrásokparaméterblokk használatával határozzák meg a sémájukat egy <ResourceName>.schema.psm1 fájlban.
  • <Resource Name>.psm1 fájl: Az osztályalapú DSC-erőforrások az osztálydefinícióban határozzák meg a sémájukat . A szintaxiselemek osztálytulajdonságokként vannak jelölve. További információ: about_Classes.

Egy DSC-erőforrás szintaxisának lekéréséhez használja a Get-DSCResource parancsmagot a Szintaxis paraméterrel. Ez a használat hasonló ahhoz, mint amikor a Get-Command függvényt a Szintaxis paraméterrel használja a parancsmag szintaxisának lekéréséhez. A megjelenő kimenet a megadott erőforrás erőforrásblokkhoz használt sablont jeleníti meg.

Get-DscResource -Syntax Service

A megjelenő kimenetnek hasonlónak kell lennie az alábbi kimenethez, bár az erőforrás szintaxisa a jövőben változhat. A parancsmag szintaxisához hasonlóan a szögletes zárójelekben látható kulcsok is választhatók. A típusok határozzák meg, hogy az egyes kulcsok milyen típusú adatokat várnak el.

Megjegyzés

A Biztos kulcs megadása nem kötelező, mert alapértelmezés szerint "Present" (Jelen) értékre van kapcsolva.

Service [String] #ResourceName
{
    Name = [string]
    [BuiltInAccount = [string]{ LocalService | LocalSystem | NetworkService }]
    [Credential = [PSCredential]]
    [Dependencies = [string[]]]
    [DependsOn = [string[]]]
    [Description = [string]]
    [DisplayName = [string]]
    [Ensure = [string]{ Absent | Present }]
    [Path = [string]]
    [PsDscRunAsCredential = [PSCredential]]
    [StartupType = [string]{ Automatic | Disabled | Manual }]
    [State = [string]{ Running | Stopped }]
}

Megjegyzés

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

A konfiguráción belül a szolgáltatás erőforrásblokkja így nézhet ki, így győződjön meg arról , hogy a Spooler szolgáltatás fut.

Megjegyzés

Mielőtt egy erőforrást használ egy konfigurációban, importálnia kell azt az Import-DSCResource paranccsal.

Configuration TestConfig
{
    # It is best practice to always directly import resources, even if the
    # resource is a built-in resource.
    Import-DSCResource -Name Service
    Node localhost
    {
        # The name of this resource block, can be anything you choose, as l
        # ong as it is of type [String] as indicated by the schema.
        Service "Spooler - Running"
        {
            Name = "Spooler"
            State = "Running"
        }
    }
}

A konfigurációk több, azonos erőforrástípusú példányt tartalmazhatnak. Minden példánynak egyedi névvel kell rendelkeznie. Az alábbi példában a rendszer hozzáad egy második szolgáltatáserőforrás-blokkot a "DHCP" szolgáltatás konfigurálásához.

Configuration TestConfig
{
    # It is best practice to always directly import resources, even if the
    # resource is a built-in resource.
    Import-DSCResource -Name Service
    Node localhost
    {
        # The name of this resource block, can be anything you choose, as
        # long as it is of type [String] as indicated by the schema.
        Service "Spooler - Running"
        {
            Name = "Spooler"
            State = "Running"
        }

        # To configure a second service resource block, add another Service
        # resource block and use a unique name.
        Service "DHCP - Running"
        {
            Name = "DHCP"
            State = "Running"
        }
    }
}

Megjegyzés

A PowerShell 5.0-tól kezdve az IntelliSense hozzá lett adva a DSC-hez. Ez az új funkció lehetővé teszi, hogy a TAB és a Ctr+Space használatával automatikusan kitöltse a kulcsneveket.

Erőforrás intelliSense a tabulátorkiegészítés használatával

Az erőforrások típusai

A Windows beépített erőforrásokat tartalmaz, a Linux pedig operációsrendszer-specifikus erőforrásokat tartalmaz. Vannak erőforrások a csomópontok közötti függőségekhez, a csomagkezelési erőforrásokhoz, valamint a közösség tulajdonában lévő és karbantartott erőforrásokhoz. A fenti lépésekkel meghatározhatja ezeknek az erőforrásoknak a szintaxisát és használatát. Az erőforrásokat kiszolgáló oldalak archiválva lettek a Hivatkozás területen.

A Windows beépített erőforrásai

Csomópontok közötti függőségi erőforrások

Csomagkezelési erőforrások

Linux-erőforrások