Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přehled
Prostředky DSC poskytují standardizované rozhraní pro správu nastavení systému. Prostředek DSC definuje vlastnosti, které můžete spravovat, a obsahuje kód PowerShellu, který Invoke-DscResource volání "tak".
Prostředek DSC může modelovat něco tak obecného jako soubor nebo jako konkrétní nastavení serveru IIS. Skupiny souvisejících prostředků DSC se kombinují do modulů PowerShellu. Moduly poskytují přenosný balíček s verzemi pro prostředky DSC a obsahují metadata a dokumentaci k nim.
Každý prostředek DSC má schéma, které určuje syntaxi potřebnou k použití prostředku DSC s Invoke-DscResource nebo v konfigurace. Schéma prostředku DSC je definováno následujícími způsoby:
-
<Resource Name>.psm1souboru: Prostředky DSC založené na třídách definují své schéma v definici třídy. Položky syntaxe jsou označeny jako vlastnosti třídy. Další informace najdete v tématu about_Classes. -
Schema.Mofsoubor: Prostředky DSC založené na MOF definují své schéma v souboruschema.mofpomocí formátu spravovaného objektu.
K načtení syntaxe prostředku DSC použijte rutinu Get-DSCResource s parametrem Syntax. To se podobá použití příkazu Get-Command s parametrem syntaxe k získání syntaxe rutiny. Výstup ukazuje šablonu použitou pro blok prostředků DSC v konfiguraci DSC.
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]]
}
Stejně jako syntaxe rutiny jsou klíče v hranatých závorkách volitelné. Typy určují datový typ, který každý klíč očekává.
Pokud chcete zajistit, aby služba Spooler byla spuštěná:
$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
}
Proměnná $SharedDscParameters je tabulka hodnot hash obsahující parametry používané při volání Test a Set metod prostředku s Invoke-DscResource. První volání Invoke-DscResource používá metodu Test k ověření, jestli je služba Spooler spuštěná, a uloží výsledek do proměnné $TestResult.
Další krok závisí na tom, jestli je služba již v požadovaném stavu. Osvědčeným postupem je vždy před vynucováním ověřit požadovaný stav a volat pouze metodu Set v případě potřeby. V tomto příkladu skript zapíše do konzoly zprávu o tom, jestli je prostředek DSC v požadovaném stavu. Pokud služba není spuštěná, volá Invoke-DscResource pomocí metody Set k vynucení požadovaného stavu.