Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Áttekintés
A DSC-erőforrások szabványos felületet biztosítanak a rendszer beállításainak kezeléséhez. A DSC-erőforrások olyan tulajdonságokat határoznak meg, amelyeket kezelhet, és tartalmazza azokat a PowerShell-kódot, amelyek Invoke-DscResource meghívják, hogy "így legyen".
A DSC-erőforrások fájlként vagy IIS-kiszolgálóbeállításként is modellezhetnek valamit. A kapcsolódó DSC-erőforrások csoportjai PowerShell-modulokba vannak kombinálva. A modulok hordozható, verziószámozott csomagot biztosítanak a DSC-erőforrásokhoz, és metaadatokat és dokumentációt tartalmaznak róluk.
Minden DSC-erőforrás rendelkezik egy sémával, amely meghatározza a DSC-erőforrás Invoke-DscResource vagy konfigurációsvaló használatához szükséges szintaxist. A DSC-erőforrás sémája a következő módokon van definiálva:
-
<Resource Name>.psm1fá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. -
Schema.Moffájl: Az MOF-alapú DSC-erőforrásokschema.moffájlban határozzák meg a sémájukat felügyelt objektumformátumhasználatával.
DSC-erőforrás szintaxisának lekéréséhez használja a Get-DSCResource parancsmagot a Szintaxis paraméterrel. Ez olyan, mint a Get-Command használata a Szintaxis paraméterrel a parancsmag szintaxisának lekéréséhez. A kimenet megjeleníti a DSC-erőforrásblokkhoz használt sablont egy DSC-konfigurációban.
Get-DscResource -Syntax Service
Service [String] #ResourceName
{
Name = [string]
[BuiltInAccount = [string]{ LocalService | LocalSystem | NetworkService }]
[Credential = [PSCredential]]
[Dependencies = [string[]]]
[DependsOn = [string[]]]
[Description = [string]]
[DesktopInteract = [bool]]
[DisplayName = [string]]
[Ensure = [string]{ Absent | Present }]
[Path = [string]]
[PsDscRunAsCredential = [PSCredential]]
[StartupTimeout = [UInt32]]
[StartupType = [string]{ Automatic | Disabled | Manual }]
[State = [string]{ Ignore | Running | Stopped }]
[TerminateTimeout = [UInt32]]
}
A parancsmag szintaxisához hasonlóan a szögletes zárójelekben kulcsok nem kötelezőek. A típusok megadják az egyes kulcsok által várt adattípust.
Annak biztosítása, hogy a Spooler szolgáltatás fut:
$SharedDscParameters = @{
Name = 'Service'
ModuleName = 'PSDscResources'
Property = @{
Name = 'Spooler'
State = 'Running'
}
}
$TestResult = Invoke-DscResource -Method Test @SharedDscParameters
if ($TestResult.InDesiredState) {
Write-Host -ForegroundColor Cyan -Object 'Already in desired state.'
} else {
Write-Host -ForegroundColor Magenta -Object 'Enforcing desired state.'
Invoke-DscResource -Method Set @SharedDscParameters
}
A $SharedDscParameters változó egy kivonattáblázat, amely a teszt meghívásakor használt paramétereket tartalmazza, és az erőforrás metódusainak beállítása Invoke-DscResource. A Invoke-DscResource első hívása a Test metódussal ellenőrzi, hogy a Spooler szolgáltatás fut-e, és az eredményt a $TestResult változóban tárolja-e.
A következő lépés attól függ, hogy a szolgáltatás már a kívánt állapotban van-e. Ajánlott mindig ellenőrizni a kívánt állapotot a kényszerítés előtt, és csak szükség esetén meghívni a Set metódust. A példában a szkript egy üzenetet ír a konzolnak arról, hogy a DSC-erőforrás a kívánt állapotban van-e. Ezután, ha a szolgáltatás nem fut, meghívja Invoke-DscResource a Set metódussal a kívánt állapot kényszerítéséhez.