PowerShell-Desired State Configuration részleges konfigurációk
A következőkre vonatkozik: Windows PowerShell 5.0-s és újabb verziók.
A PowerShell 5.0-ban a Desired State Configuration (DSC) lehetővé teszi a konfigurációk töredékekben és több forrásból történő kézbesítését. A célcsomópont Helyi Configuration Manager (LCM) összehozza a töredékeket, mielőtt egyetlen konfigurációként alkalmazva tenné őket. Ez a képesség lehetővé teszi a konfigurációk csapatok vagy személyek közötti megosztását. Ha például két vagy több fejlesztőcsapat közösen dolgozik egy szolgáltatáson, előfordulhat, hogy mindegyik konfigurációt szeretne létrehozni a szolgáltatás egy részének kezeléséhez. Ezek a konfigurációk különböző lekéréses kiszolgálókról kérhetők le, és a fejlesztés különböző szakaszaiban adhatók hozzá. A részleges konfigurációk azt is lehetővé teszik, hogy a különböző személyek vagy csapatok egyetlen konfigurációs dokumentum szerkesztése nélkül szabályozhatják a csomópontok konfigurálásának különböző aspektusait. Előfordulhat például, hogy az egyik csapat felelős egy virtuális gép és operációs rendszer üzembe helyezéséért, míg egy másik csapat más alkalmazásokat és szolgáltatásokat helyez üzembe a virtuális gépen. Részleges konfigurációk esetén minden csapat létrehozhat saját konfigurációt anélkül, hogy bármelyikük szükségtelenül bonyolult lenne.
Részleges konfigurációkat leküldéses módban, lekéréses módban vagy a kettő kombinációjában is használhat.
Részleges konfigurációk leküldéses módban
Ha részleges konfigurációkat szeretne használni leküldéses módban, konfigurálja a célcsomópont LCM-ét a részleges konfigurációk fogadásához. Minden részleges konfigurációt le kell küldeni a célhoz a Publish-DSCConfiguration
parancsmag használatával. A célcsomópont ezután egyetlen konfigurációban egyesíti a részleges konfigurációt, és a Start-DscConfiguration parancsmag meghívásával alkalmazhatja a konfigurációt.
Az LCM konfigurálása leküldéses módú részleges konfigurációkhoz
Ha leküldéses módban szeretné konfigurálni az LCM-et részleges konfigurációkhoz, hozzon létre egy DSCLocalConfigurationManager konfigurációt egy Részleges konfigurációs blokktal minden egyes részleges konfigurációhoz. Az LCM konfigurálásáról további információt a Windows Helyi Configuration Manager konfigurálása című témakörben talál. Az alábbi példa egy LCM-konfigurációt mutat be, amely két részleges konfigurációt vár – az egyik az operációs rendszert telepíti, a másik pedig a SharePointot telepíti és konfigurálja.
[DSCLocalConfigurationManager()]
configuration PartialConfigDemo
{
Node localhost
{
PartialConfiguration ServiceAccountConfig
{
Description = 'Configuration to add the SharePoint service account to the Administrators group.'
RefreshMode = 'Push'
}
PartialConfiguration SharePointConfig
{
Description = 'Configuration for the SharePoint server'
RefreshMode = 'Push'
}
}
}
PartialConfigDemo
Az egyes részleges konfigurációk RefreshMode tulajdonsága "Leküldés" értékre van állítva. A PartialConfiguration blokkok nevének (ebben az esetben a "ServiceAccountConfig" és a "SharePointConfig") pontosan meg kell egyeznie a célcsomópontra leküldett konfigurációk nevével.
Megjegyzés
Az egyes PartialConfiguration blokkok neve megegyezik a konfiguráció tényleges nevével, mivel a konfigurációs szkriptben van megadva, nem pedig az MOF-fájl nevével, amely lehet a célcsomópont neve vagy localhost
.
Részleges leküldéses módú konfigurációk közzététele és indítása
Ezután meghívja a Publish-DSCConfiguration parancsot az egyes konfigurációkhoz, és elérésiút-paraméterekként adja át a konfigurációs dokumentumokat tartalmazó mappákat. Publish-DSCConfiguration
A a konfigurációs MOF-fájlokat a célcsomópontokra helyezi. Mindkét konfiguráció közzététele után meghívhatja Start-DSCConfiguration –UseExisting
a célcsomópontot.
Ha például a következő konfigurációs MOF-dokumentumokat állította össze a szerzői csomóponton:
Get-ChildItem -Recurse
Directory: C:\PartialConfigTest
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 8/11/2016 1:55 PM ServiceAccountConfig
d----- 11/17/2016 4:14 PM SharePointConfig
Directory: C:\PartialConfigTest\ServiceAccountConfig
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 8/11/2016 2:02 PM 2034 TestVM.mof
Directory: C:\PartialConfigTest\SharePointConfig
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 11/17/2016 4:14 PM 1930 TestVM.mof
A konfigurációkat a következőképpen teheti közzé és futtathatja:
Publish-DscConfiguration .\ServiceAccountConfig -ComputerName 'TestVM'
Publish-DscConfiguration .\SharePointConfig -ComputerName 'TestVM'
Start-DscConfiguration -UseExisting -ComputerName 'TestVM'
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
17 Job17 Configuratio... Running True TestVM Start-DscConfiguration...
Megjegyzés
A Publish-DSCConfiguration parancsmagot futtató felhasználónak rendszergazdai jogosultságokkal kell rendelkeznie a célcsomóponton.
Részleges konfigurációk lekéréses módban
A részleges konfigurációk lekérhetők egy vagy több lekéréses kiszolgálóról (a lekéréses kiszolgálókról további információt a Windows PowerShell Desired State Configuration lekéréses kiszolgálók című témakörben talál. Ehhez konfigurálnia kell az LCM-et a célcsomóponton a részleges konfigurációk lekéréséhez, és el kell neveznie és megfelelően kell megkeresnie a konfigurációs dokumentumokat a lekérési kiszolgálókon.
Az LCM konfigurálása lekérési csomópont konfigurációihoz
Ha úgy szeretné konfigurálni az LCM-et, hogy részleges konfigurációkat kérjen le egy lekéréses kiszolgálóról, a lekéréses kiszolgálót a ConfigurationRepositoryWeb (HTTP lekéréses kiszolgálóhoz) vagy a ConfigurationRepositoryShare (SMB lekéréses kiszolgálóhoz) blokkban kell meghatároznia. Ezután a ConfigurationSource tulajdonság használatával részleges konfigurációs blokkokat hozhat létre, amelyek a lekérési kiszolgálóra hivatkoznak. Létre kell hoznia egy Beállítások blokkot is annak megadásához, hogy az LCM lekéréses módot használ-e, valamint meg kell adnia a ConfigurationNames vagy ConfigurationID azonosítót , amelyet a lekéréses kiszolgáló és a célcsomópont használ a konfigurációk azonosításához. Az alábbi metakonfiguráció egy CONTOSO-PullSrv nevű HTTP-lekérési kiszolgálót és két részleges konfigurációt határoz meg, amelyek ezt a lekéréses kiszolgálót használják.
További információ az LCM ConfigurationNames használatával történő konfigurálásáról: Lekéréses ügyfél beállítása konfigurációnevek használatával. További információ az LCM ConfigurationID használatával történő konfigurálásáról: Lekéréses ügyfél beállítása konfigurációazonosító használatával.
Az LCM konfigurálása lekéréses módú konfigurációkhoz konfigurációnevek használatával
[DscLocalConfigurationManager()]
Configuration PartialConfigDemoConfigNames
{
Settings
{
RefreshFrequencyMins = 30;
RefreshMode = "PULL";
ConfigurationMode ="ApplyAndAutocorrect";
AllowModuleOverwrite = $true;
RebootNodeIfNeeded = $true;
ConfigurationModeFrequencyMins = 60;
}
ConfigurationRepositoryWeb CONTOSO-PullSrv
{
ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
RegistrationKey = 5b41f4e6-5e6d-45f5-8102-f2227468ef38
ConfigurationNames = @("ServiceAccountConfig", "SharePointConfig")
}
PartialConfiguration ServiceAccountConfig
{
Description = "ServiceAccountConfig"
ConfigurationSource = @("[ConfigurationRepositoryWeb]CONTOSO-PullSrv")
}
PartialConfiguration SharePointConfig
{
Description = "SharePointConfig"
ConfigurationSource = @("[ConfigurationRepositoryWeb]CONTOSO-PullSrv")
DependsOn = '[PartialConfiguration]ServiceAccountConfig'
}
}
Az LCM konfigurálása lekéréses módú konfigurációkhoz a ConfigurationID használatával
[DSCLocalConfigurationManager()]
configuration PartialConfigDemoConfigID
{
Node localhost
{
Settings
{
RefreshMode = 'Pull'
ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
RefreshFrequencyMins = 30
RebootNodeIfNeeded = $true
}
ConfigurationRepositoryWeb CONTOSO-PullSrv
{
ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
}
PartialConfiguration ServiceAccountConfig
{
Description = 'Configuration for the Base OS'
ConfigurationSource = '[ConfigurationRepositoryWeb]CONTOSO-PullSrv'
RefreshMode = 'Pull'
}
PartialConfiguration SharePointConfig
{
Description = 'Configuration for the Sharepoint Server'
ConfigurationSource = '[ConfigurationRepositoryWeb]CONTOSO-PullSrv'
DependsOn = '[PartialConfiguration]ServiceAccountConfig'
RefreshMode = 'Pull'
}
}
}
PartialConfigDemo
Több lekéréses kiszolgálóról is lekérhet részleges konfigurációkat – csak minden egyes lekérési kiszolgálót meg kell határoznia, majd az egyes Részleges konfigurációs blokkokban a megfelelő lekérési kiszolgálóra kell hivatkoznia.
A metakonfiguráció létrehozása után futtatnia kell azt egy konfigurációs dokumentum (MOF-fájl) létrehozásához, majd meg kell hívnia a Set-DscLocalConfigurationManager parancsot az LCM konfigurálásához.
A konfigurációs dokumentumok elnevezése és elhelyezése a lekérési kiszolgálón (ConfigurationNames)
A részleges konfigurációs dokumentumokat a lekérési kiszolgáló fájljában configurationPath néven megadott mappába web.config
kell helyezni (általában C:\Program Files\WindowsPowerShell\DscService\Configuration
).
Konfigurációs dokumentumok elnevezése a lekérési kiszolgálón a PowerShell 5.1-ben
Ha csak egy részleges konfigurációt kér le egy adott lekérési kiszolgálóról, a konfigurációs dokumentumnak bármilyen neve lehet. Ha több részleges konfigurációt kér le egy lekérési kiszolgálóról, a konfigurációs dokumentum neve <ConfigurationName>.mof
lehet , ahol a ConfigurationName a részleges konfiguráció neve, vagy <ConfigurationName>.<NodeName>.mof
, ahol a ConfigurationName a részleges konfiguráció neve, a NodeName pedig a célcsomópont neve. Ez lehetővé teszi a konfigurációk lekérését Azure Automation DSC lekérési kiszolgálóról.
Konfigurációs dokumentumok elnevezése a lekérési kiszolgálón a PowerShell 5.0-ban
A konfigurációs dokumentumokat a következőképpen kell elnevezni: ConfigurationName.mof
, ahol a ConfigurationName a részleges konfiguráció neve. Példánkban a konfigurációs dokumentumokat a következőképpen kell elneveznünk:
ServiceAccountConfig.mof
ServiceAccountConfig.mof.checksum
SharePointConfig.mof
SharePointConfig.mof.checksum
A konfigurációs dokumentumok elnevezése és elhelyezése a lekérési kiszolgálón (ConfigurationID)
A részleges konfigurációs dokumentumokat a lekérési kiszolgáló fájljában configurationPath néven megadott mappába web.config
kell helyezni (általában C:\Program Files\WindowsPowerShell\DscService\Configuration
). A konfigurációs dokumentumokat a következőképpen kell elnevezni: <ConfigurationName>.<ConfigurationID>.mof
, ahol a ConfigurationName a részleges konfiguráció neve, a ConfigurationID pedig a célcsomópont LCM-ben definiált konfigurációazonosítója. Példánkban a konfigurációs dokumentumokat a következőképpen kell elneveznünk:
ServiceAccountConfig.1d545e3b-60c3-47a0-bf65-5afc05182fd0.mof
ServiceAccountConfig.1d545e3b-60c3-47a0-bf65-5afc05182fd0.mof.checksum
SharePointConfig.1d545e3b-60c3-47a0-bf65-5afc05182fd0.mof
SharePointConfig.1d545e3b-60c3-47a0-bf65-5afc05182fd0.mof.checksum
Részleges konfigurációk futtatása lekéréses kiszolgálóról
Miután a célcsomóponton konfigurálta az LCM-et, és a konfigurációs dokumentumok létrejöttek és megfelelően el lettek nevezve a lekérési kiszolgálón, a célcsomópont lekéri a részleges konfigurációkat, kombinálja őket, és az eredményül kapott konfigurációt az LCM RefreshFrequencyMins tulajdonsága által meghatározott rendszeres időközönként alkalmazza. Ha kényszeríteni szeretne egy frissítést, meghívhatja az Update-DscConfiguration parancsmagot a konfigurációk lekéréséhez és alkalmazásához.
Részleges konfigurációk vegyes leküldéses és lekéréses módban
A részleges konfigurációk leküldéses és lekéréses módjait is keverheti. Ez azt is jelentheti, hogy rendelkezhet egy részleges konfigurációval, amelyet lekér egy lekéréses kiszolgálóról, míg egy másik részleges konfigurációt. Adja meg az egyes részleges konfigurációk frissítési módját az előző szakaszokban leírtak szerint. Az alábbi metakonfiguráció például ugyanezt a példát írja le, a ServiceAccountConfig
részleges konfigurációt lekéréses módban, a részleges konfigurációt SharePointConfig
pedig leküldéses módban.
Vegyes leküldéses és lekéréses módok ConfigurationNames használatával
[DscLocalConfigurationManager()]
Configuration PartialConfigDemoConfigNames
{
Settings
{
RefreshFrequencyMins = 30;
RefreshMode = "PULL";
ConfigurationMode = "ApplyAndAutocorrect";
AllowModuleOverwrite = $true;
RebootNodeIfNeeded = $true;
ConfigurationModeFrequencyMins = 60;
}
ConfigurationRepositoryWeb CONTOSO-PullSrv
{
ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
RegistrationKey = 5b41f4e6-5e6d-45f5-8102-f2227468ef38
ConfigurationNames = @("ServiceAccountConfig", "SharePointConfig")
}
PartialConfiguration ServiceAccountConfig
{
Description = "ServiceAccountConfig"
ConfigurationSource = @("[ConfigurationRepositoryWeb]CONTOSO-PullSrv")
RefreshMode = 'Pull'
}
PartialConfiguration SharePointConfig
{
Description = "SharePointConfig"
DependsOn = '[PartialConfiguration]ServiceAccountConfig'
RefreshMode = 'Push'
}
}
Vegyes leküldéses és lekéréses módok a ConfigurationID használatával
[DSCLocalConfigurationManager()]
configuration PartialConfigDemo
{
Node localhost
{
Settings
{
RefreshMode = 'Pull'
ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
RefreshFrequencyMins = 30
RebootNodeIfNeeded = $true
}
ConfigurationRepositoryWeb CONTOSO-PullSrv
{
ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
}
PartialConfiguration ServiceAccountConfig
{
Description = 'Configuration for the Base OS'
ConfigurationSource = '[ConfigurationRepositoryWeb]CONTOSO-PullSrv'
RefreshMode = 'Pull'
}
PartialConfiguration SharePointConfig
{
Description = 'Configuration for the Sharepoint Server'
DependsOn = '[PartialConfiguration]ServiceAccountConfig'
RefreshMode = 'Push'
}
}
}
PartialConfigDemo
Vegye figyelembe, hogy a Beállítások blokkban megadott RefreshMode értéke "Lekérés", de a SharePointConfig
részleges konfiguráció RefreshMode értéke "Leküldés".
Nevezze el és keresse meg a konfigurációs MOF-fájlokat a fent leírt módon a megfelelő frissítési módokhoz.
Hívja Publish-DSCConfiguration
meg a SharePointConfig
részleges konfiguráció közzétételét, és várja meg, amíg lekéri a ServiceAccountConfig
konfigurációt a lekérési kiszolgálóról, vagy kényszerítse a frissítést az Update-DscConfiguration meghívásával.
Példa ServiceAccountConfig részleges konfigurációra
Configuration ServiceAccountConfig
{
Param (
[Parameter(Mandatory,
HelpMessage="Domain credentials required to add domain\sharepoint_svc to the local Administrators group.")]
[ValidateNotNullOrEmpty()]
[pscredential]$Credential
)
Import-DscResource -ModuleName PSDesiredStateConfiguration
Node localhost
{
Group LocalAdmins
{
GroupName = 'Administrators'
MembersToInclude = 'domain\sharepoint_svc',
'admins@example.domain'
Ensure = 'Present'
Credential = $Credential
}
WindowsFeature Telnet
{
Name = 'Telnet-Server'
Ensure = 'Absent'
}
}
}
ServiceAccountConfig
Példa SharePointConfig részleges konfigurációra
Configuration SharePointConfig
{
Param (
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[pscredential]$ProductKey
)
Import-DscResource -ModuleName xSharePoint
Node localhost
{
xSPInstall SharePointDefault
{
Ensure = 'Present'
BinaryDir = '\\FileServer\Installers\Sharepoint\'
ProductKey = $ProductKey
}
}
}
SharePointConfig
Lásd még:
lekéréses kiszolgálók Windows PowerShell Desired State Configuration
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: