Erőforrások

Az előző DSC konfigurációban ezután következnek azok az erőforrások, amiket létre szeretnénk hozni vagy be szeretnénk állítani. Itt most két erőforrást szeretnék beállítani: egy File erőforrást, aminek a neve Fájl, és egy Registry erőforrást, aminek a neve Reg. Az erőforrásoknak a nevükön kívül vannak paramétereik, amiket kapcsos zárójel után, mintha hashtáblát definiálnánk adhatunk meg. Minden erőforrásnak van Ensure paramétere, ami után azt adjuk meg, hogy az adott erőforrás meglétét elvárjuk (Present) vagy épp fordítva, szeretnénk ha pont nem lenne ott (Absent). Nem kötelező ezt a paramétert explicit szerepeltetni, az alaphelyzet szerinti értéke ’Present’. Hogyan lehet kitalálni, hogy milyen egyéb paramétereket határozhatunk meg? Erre való a Get-DSCResource  cmdlet a -syntax kapcsolóval:

PS C:\> Get-DscResource -Name File -Syntax

File [String] #ResourceName

{

    DestinationPath = [string]

    [Attributes = [string[]]{ Archive | Hidden | ReadOnly | System }]

    [Checksum = [string]{ CreatedDate | ModifiedDate | SHA-1 | SHA-256 | SHA-5

12 }]

    [Contents = [string]]

    [Credential = [PSCredential]]

    [DependsOn = [string[]]]

    [Ensure = [string]{ Absent | Present }]

    [Force = [bool]]

    [MatchSource = [bool]]

    [PsDscRunAsCredential = [PSCredential]]

    [Recurse = [bool]]

    [SourcePath = [string]]

    [Type = [string]{ Directory | File }]

}

A szintaxisból látható, hogy egyedül a DestinationPath a kötelezően megadandó paraméter (nincs szögletes zárójelbe téve). Sajnos egy ilyen szintaxis nem ad teljes eligazítást a használatot illetően, hiszen csak egy cél elérési út megadásának nem sok értelme van, mellette vagy egy forrás elérési út vagy a tartalom megadása még szükséges.

De hol vannak ezek az erőforrások és mik ezek pontosan? Ha kicsit jobban belenézünk a Get‑DSCResource kimenetébe, akkor erre is kapunk választ:

PS C:\> Get-DscResource -name file, registry | ft name, parentpath -AutoSize -W

rap

 

Name     ParentPath

----     ----------

File     C:\WINDOWS\system32\Configuration\Schema\MSFT_FileDirectoryConfigurat

         ion

Registry C:\WINDOWS\system32\WindowsPowershell\v1.0\Modules\PsDesiredStateConf

         iguration\DSCResources\MSFT_RegistryResource

A File erőforrás éppen kakukktojás, mert az egyedi helyen tanyázik, a többi gyári erőforrás a PowerShell telepítési könyvtára alatti Modules\PSDesiredStateConfiguration\DSCResources alatt található és legtöbbjük egy-egy PowerShell modul, melyekben kötelezően a következő 3 függvény van exportálva:

Get-TargetResource, Set-TargetResource, Test-TargetResource.

Ezek a függvények lesznek meghívva az erőforrás lekérdezésekor, beállításakor és tesztelésekor. Természetesen lehetnek ezeken kívül egyéb függvények is a modulban segédfüggvényként, de ennek a háromnak mindenképpen ott kell lennie.

Ha nem igazán egyértelmű a szintaxisból, hogy az erőforrás melyik paraméter mire is jó, érdemes belenézni az erőforrás modulfájljába, mert elég sok magyarázat található a forráskódban, így sok információhoz juthatunk.



Word To HTML Converter