DSC-erőforrások

A Windows PowerShell 4.0-s vagy újabb kiadására vonatkozik.

Áttekintés

Desired State Configuration (DSC) erőforrások biztosítják a DSC-konfiguráció építőelemét. Egy 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 az "ilyensé" alakítás gombra.

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 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 definiálják 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 parancsmagot használja a Szintaxis paraméterrel a parancsmag szintaxisának lekéréséhez. A megjelenő kimenetben a megadott erőforrás erőforrásblokkjának sablonja látható.

Get-DscResource -Syntax Service

A megjelenő kimenetnek az alábbihoz hasonlónak kell lennie, bár az erőforrás szintaxisa a jövőben változhat. A parancsmag szintaxisához hasonlóan a szögletes zárójelben látható kulcsok használata nem kötelező. A típusok határozzák meg az egyes kulcsok által várt adattípusokat.

Megjegyzés

Az "Győződjön meg róla " kulcs megadása nem kötelező, mert alapértelmezés szerint a "Jelen van" é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-snál Get-DscResource régebbi 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 meggyőződhet arról , hogy a Spooler szolgáltatás fut.

Megjegyzés

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

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 egy második szolgáltatás-erőforrásblokkot adunk hozzá 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+Szóköz billentyűvel automatikusan kitöltse a kulcsneveket.

Erőforrás intelliSense lapkiegészítéssel

Erőforrástípusok

A Windows beépített erőforrásokkal rendelkezik, a Linux pedig operációsrendszer-specifikus erőforrásokkal rendelkezik. 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 fenntartott erőforrásokhoz. A fenti lépésekkel meghatározhatja ezeknek az erőforrásoknak a szintaxisát és használatát. Az ezeket az erőforrásokat kiszolgáló lapokat a Hivatkozás területen archiváltuk.

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