Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Rövid leírás
Rövid bevezetést nyújt a PowerShell Desired State Configuration (DSC) szolgáltatásba.
Hosszú leírás
A DSC egy felügyeleti platform a PowerShellben, amely lehetővé teszi a szoftverszolgáltatások konfigurációs adatainak üzembe helyezését és kezelését, valamint a szolgáltatások futtatásának környezetét.
A DSC PowerShell-nyelvi bővítményeket, új parancsmagokat és erőforrásokat biztosít, amelyekkel deklaratív módon meghatározhatja a szoftverkörnyezet állapotának konfigurálását. Emellett a meglévő konfigurációk karbantartását és kezelését is lehetővé teszi.
A DSC a PowerShell 4.0-s kiadásában érhető el.
A DSC-vel kapcsolatos részletes információkért tekintse meg a PowerShell kívánt állapotkonfigurációjának áttekintését.
DSC-erőforrások fejlesztése osztályokkal
A PowerShell 5.0-tól kezdve osztályokkal fejleszthet DSC-erőforrásokat. További információ: about_Classes és egyéni DSC-erőforrás írása PowerShell-osztályokkal.
A DSC használata
A környezet konfigurálásához először definiáljon egy PowerShell-szkriptblokkot a Konfiguráció kulcsszóval, majd egy azonosítót, amelyet a blokkot elválasztó kapcsos zárójelpár követ. A konfigurációs blokkon belül megadhatja azokat a csomópontblokkokat, amelyek a környezet minden csomópontja (számítógépe) számára megadják a kívánt konfigurációs állapotot. A csomópontblokkok a Node kulcsszóval kezdődnek, amelyet a célszámítógép neve követ, amely változó lehet. A számítógép neve után jöjjön a csomópontblokkot elválasztó kapcsos zárójel. A csomópontblokkon belül definiálhat erőforrásblokkokat adott erőforrások konfigurálásához. Az erőforrásblokkok az erőforrás típusnevével kezdődnek, majd az adott blokkhoz megadni kívánt azonosító, majd a blokkot elválasztó kapcsos zárójelek, ahogyan az az alábbi példában is látható.
Configuration MyWebConfig {
# Parameters are optional
param ($MachineName, $WebsiteFilePath)
# A Configuration block can have one or more Node blocks
Node $MachineName
{
# Next, specify one or more resource blocks
# WindowsFeature is one of the resources you can use in a Node block
# This example ensures the Web Server (IIS) role is installed
WindowsFeature IIS
{
# To ensure that the role is not installed, set Ensure to "Absent"
Ensure = "Present"
Name = "Web-Server" # Use the Name property from Get-WindowsFeature
}
# You can use the File resource to create files and folders
# "WebDirectory" is the name you want to use to refer to this instance
File WebDirectory
{
Ensure = "Present" # You can also set Ensure to "Absent"
Type = "Directory" # Default is "File"
Recurse = $true
SourcePath = $WebsiteFilePath
DestinationPath = "C:\inetpub\wwwroot"
# Ensure that the IIS block is successfully run first before
# configuring this resource
DependsOn = "[WindowsFeature]IIS" # Use for dependencies
}
}
}
Konfiguráció létrehozásához ugyanúgy hívja meg a Konfiguráció blokkot, mint egy PowerShell-függvényt, és adja meg az esetlegesen definiált várt paramétereket (a fenti példában kettő). Ebben az esetben például:
MyWebConfig -MachineName "TestMachine" -WebsiteFilePath `
"\\filesrv\WebFiles" -OutputPath "C:\Windows\system32\Temp"
# OutputPath is optional
Ez csomópontonként létrehoz egy MOF-fájlt a megadott elérési úton. Ezek az MOF-fájlok határozzák meg az egyes csomópontok kívánt konfigurációját. Ezután használja a következő parancsmagot a konfigurációs MOF-fájlok elemzéséhez, az egyes csomópontok megfelelő konfigurációjának elküldéséhez és a konfigurációk végrehajtásához. Vegye figyelembe, hogy nem kell külön MOF-fájlt létrehoznia az osztályalapú DSC-erőforrásokhoz.
Start-DscConfiguration -Verbose -Wait -Path "C:\Windows\system32\Temp"
A DSC használata a konfigurációs állapot fenntartásához
A DSC-vel a konfiguráció idempotens. Ez azt jelenti, hogy ha a DSC használatával többször is alkalmazza ugyanazt a konfigurációt, az eredményként kapott konfigurációs állapot mindig ugyanaz lesz. Emiatt, ha azt gyanítja, hogy a környezet bármely csomópontja eltávolodhatott a kívánt konfigurációs állapottól, ugyanezt a DSC-konfigurációt újra alkalmazhatja, hogy visszahozza őket a kívánt állapotba. Nem kell módosítania a konfigurációs szkriptet, hogy csak azokat az erőforrásokat kezelje, amelyek állapota eltért a kívánt állapottól.
Az alábbi példa bemutatja, hogyan ellenőrizheti, hogy egy adott csomópont konfigurációjának tényleges állapota eltért-e a csomóponton legutóbb életbe léptetett DSC-konfigurációtól. Ebben a példában a helyi számítógép konfigurációját ellenőrizzük.
$session = New-CimSession -ComputerName "localhost"
Test-DscConfiguration -CimSession $session
Beépített DSC-erőforrások
A konfigurációs szkriptekben a következő beépített erőforrásokat használhatja:
| Név | Tulajdonságok |
|---|---|
| Fájl | {DestinationPath, Attribútumok, Ellenőrzőösszeg, Tartalom...} |
| Archívum | {Cél, elérési út, ellenőrzőösszeg, hitelesítő adatok...} |
| Környezet | {Name, DependsOn, Ensure, Path...} |
| Csoport | {GroupName, Credential, DependsOn, Description...} |
| Napló | {Message, DependsOn, PsDscRunAsCredential} |
| Csomag | {Név, elérési út, termékazonosító, argumentumok...} |
| Beállításjegyzék | {Key, ValueName, DependsOn, Ensure...} |
| Szkript | {GetScript, SetScript, TestScript, Credential...} |
| Szolgáltatás | {Name, BuiltInAccount, Credential, Dependencies...} |
| User | {UserName, DependsOn, Leírás, Letiltva...} |
| WaitForAll | {NodeName, ResourceName, DependsOn, PsDscRunAsC...} |
| WaitForAny | {NodeName, ResourceName, DependsOn, PsDscRunAsC...} |
| WaitForSome | {NodeCount, NodeName, ResourceName, DependsOn...} |
| WindowsFeature | {Name, Credential, DependsOn, Ensure...} |
| WindowsOptionalFeature | {Name, DependsOn, Ensure, LogLevel...} |
| WindowsProcess | {Argumentumok, elérési út, hitelesítő adatok, DependsOn...} |
A rendszeren elérhető DSC-erőforrások listájának lekéréséhez futtassa a Get-DscResource parancsmagot.
Feljegyzés
A 7.0 Get-DscResource alatti PowerShell-verziókban nem találhatók osztályalapú DSC-erőforrások.
A jelen témakörben szereplő példa bemutatja, hogyan használhatja a Fájl és a WindowsFeature erőforrásokat. Ha meg szeretné tekinteni az erőforrással használható összes tulajdonságot, szúrja be a kurzort az erőforrás kulcsszójába (például Fájl) a PowerShell ISE konfigurációs szkriptjéhez, tartsa lenyomva a CTRL+SZÓKÖZ BILLENTYŰT
További erőforrások keresése
Letöltheti, telepítheti és megismerheti a PowerShell és a DSC felhasználói közössége, valamint a Microsoft által létrehozott számos más elérhető DSC-erőforrást. Keresse fel a PowerShell-galéria, és ismerje meg a rendelkezésre álló DSC-erőforrásokat.