DSC-erőforrásokDSC Resources

A Windows PowerShell 4,0-es és egyéb verziójára vonatkozik.Applies to Windows PowerShell 4.0 and up.

ÁttekintésOverview

A kívánt állapot-konfiguráció (DSC) erőforrásai biztosítják a DSC-konfiguráció építőelemeit.Desired State Configuration (DSC) Resources provide the building blocks for a DSC configuration. Az erőforrások elérhetővé teszik a konfigurálható tulajdonságokat (sémát), és tartalmazzák a PowerShell-parancsfájl azon funkcióit, amelyeket a helyi Configuration Manager (LCD) a "Make it" számára hív meg.A resource exposes properties that can be configured (schema) and contains the PowerShell script functions that the Local Configuration Manager (LCM) calls to "make it so".

Egy erőforrás az általános fájlként, vagy egy IIS-kiszolgáló beállításaként is modellezhető.A resource can model something as generic as a file or as specific as an IIS server setting. A hasonló erőforrások csoportjai egy DSC-modulba vannak egyesítve, amely az összes szükséges fájlt egy hordozható struktúrába rendezi, és metaadatokkal azonosítja az erőforrások felhasználási módját.Groups of like resources are combined in to a DSC Module, which organizes all the required files in to a structure that is portable and includes metadata to identify how the resources are intended to be used.

Minden erőforrás rendelkezik * sémával, amely meghatározza az erőforrás konfigurációbanvaló használatához szükséges szintaxist.Each resource has a *schema that determines the syntax needed to use the resource in a Configuration. Az erőforrás sémája a következő módokon határozható meg:A resource's schema can be defined in the following ways:

  • Schema.Mof fájl: a legtöbb erőforrás a sémáját egy schema.mof fájlban határozza meg Managed Object Formathasználatával.Schema.Mof file: Most resources define their schema in a schema.mof file, using Managed Object Format.
  • <Resource Name>.schema.psm1 fájl: az összetett erőforrások definiálják a sémát egy <ResourceName>.schema.psm1 fájlban egy paraméter blokkhasználatával.<Resource Name>.schema.psm1 file: Composite Resources define their schema in a <ResourceName>.schema.psm1 file using a Parameter Block.
  • <Resource Name>.psm1 fájl: az osztályon alapuló DSC-erőforrások definiálják a sémát az osztály definíciójában.<Resource Name>.psm1 file: Class based DSC resources define their schema in the class definition. A szintaktikai elemek osztály tulajdonságaiként vannak kijelölve.Syntax items are denoted as Class properties. További információ: about_Classes.For more information, see about_Classes.

A DSC-erőforrás szintaxisának beolvasásához használja a Get-DSCResource parancsmagot a szintaxis paraméterrel.To retrieve the syntax for a DSC resource, use the Get-DSCResource cmdlet with the Syntax parameter. Ez a használat hasonló a Get-Command és a Syntax paraméter használatával a parancsmag szintaxisának lekéréséhez.This usage is similar to using Get-Command with the Syntax parameter to get cmdlet syntax. A megjelenített kimenet a megadott erőforráshoz tartozó erőforrás-blokkhoz használt sablont jeleníti meg.The output you see will show the template used for a resource block for the resource you specify.

Get-DscResource -Syntax Service

A megjelenített kimenetnek az alábbi kimenethez hasonlónak kell lennie, de az erőforrás szintaxisa később is változhat.The output you see should be similar to the output below, though this resource's syntax could change in the future. A parancsmag-szintaxishoz hasonlóan a szögletes zárójelben látható kulcsok nem választhatók.Like cmdlet syntax, the keys seen in square brackets, are optional. A típusok határozzák meg, hogy az egyes kulcsok milyen típusú adatokra számíthatnak.The types specify the type of data each key expects.

Megjegyzés

A kulcs megadása nem kötelező, mert alapértelmezett értéke "present".The Ensure key is optional because it defaults to "Present".

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 alatti PowerShell-verziók Get-DscResource nem találnak Class-alapú DSC-erőforrásokat.In PowerShell versions below 7.0, Get-DscResource does not find Class based DSC resources.

Egy konfiguráción belül a szolgáltatás -erőforrás blokk így néz ki, így biztosítva , hogy a nyomtatásisor-kezelő szolgáltatás fut.Inside a Configuration, a Service resource block might look like this to Ensure that the Spooler service is running.

Megjegyzés

Mielőtt erőforrást használ egy konfigurációban, importálnia kell az import-DSCResourcehasználatával.Before using a resource in a Configuration, you must import it using Import-DSCResource.

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"
        }
    }
}

A konfigurációk több azonos típusú példányt is tartalmazhatnak.Configurations can contain multiple instances of the same resource type. Minden példánynak egyedi névvel kell rendelkeznie.Each instance must be uniquely named. A következő példában a "DHCP" szolgáltatás konfigurálásához egy második szolgáltatási erőforrás-blokk kerül be.In the following example, a second Service resource block is added to configure the "DHCP" service.

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-es verziójától kezdve az IntelliSense hozzá lett adva a DSC-hez.Beginning in PowerShell 5.0, IntelliSense was added for DSC. Ez az új funkció lehetővé teszi, hogy a Tab és a CTR + területét a kulcsok automatikus kiegészítésére használja.This new feature allows you to use TAB and Ctr+Space to auto-complete key names.

Erőforrás IntelliSense a TAB befejezésével

Típusú erőforrásokTypes of resources

A Windows beépített erőforrásokat tartalmaz, és a Linux operációs rendszer specifikus erőforrásokkal rendelkezik.Windows comes with built in resources and Linux has OS specific resources. Vannak erőforrások a csomópontok közötti függőségekhez, a csomagkezelő erőforrásokhoz, valamint aközösségi tulajdonú és karbantartott erőforrásokhoz.There are resources for cross-node dependencies, package management resources, as well ascommunity owned and maintained resources. A fenti lépésekkel meghatározhatja ezeknek az erőforrásoknak a szintaxisát, és azt is, hogyan használhatja őket.You can use the above steps to determine the syntax of these resources and how to use them. Az ezeket az erőforrásokat kiszolgáló lapok archiválása a hivatkozásalatt történt.The pages that serve these resources have been archived under Reference.

A Windows beépített erőforrásaiWindows built-in resources

Csomópontok közötti függőségi erőforrásokCross-Node dependency resources

Csomagkezelő erőforrásaiPackage Management resources

Linux-erőforrásokLinux resources