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.
Platí pro: Windows PowerShell 5.0 a novější.
V PowerShellu 5.0 umožňuje konfigurace požadovaného stavu (DSC) doručovat konfigurace ve fragmentech a z více zdrojů. Místní nástroj Configuration Manager (LCM) v cílovém uzlu seskupí fragmenty před jejich použitím jako jednu konfiguraci. Tato funkce umožňuje sdílení kontroly nad konfigurací mezi týmy nebo jednotlivci. Pokud například na službě spolupracují dva nebo více týmů vývojářů, může každý z nich chtít vytvořit konfigurace pro správu své části služby. Každá z těchto konfigurací může být načtena z různých serverů vyžádané replikace a může být přidána v různých fázích vývoje. Částečné konfigurace také umožňují různým jednotlivcům nebo týmům ovládat různé aspekty konfigurace uzlů, aniž by bylo nutné koordinovat úpravy jediného konfiguračního dokumentu. Jeden tým může být například zodpovědný za nasazení virtuálního počítače a operačního systému, zatímco jiný tým může na tomto virtuálním počítači nasadit jiné aplikace a služby. S částečnými konfiguracemi si každý tým může vytvořit svou vlastní konfiguraci, aniž by kterákoli z nich byla zbytečně složitá.
Částečné konfigurace můžete použít v režimu push, pull nebo kombinaci obou.
Částečné konfigurace v režimu push
Chcete-li použít částečné konfigurace v režimu nabízených oznámení, nakonfigurujte LCM na cílovém uzlu tak, aby přijímal částečné konfigurace. Každá částečná konfigurace musí být odeslána do cíle pomocí rutiny Publish-DSCConfiguration . Cílový uzel pak zkombinuje částečnou konfiguraci do jedné konfigurace a konfiguraci můžete použít voláním rutiny Start-DscConfiguration .
Konfigurace LCM pro částečné konfigurace v režimu push-mode
Chcete-li nakonfigurovat LCM pro částečné konfigurace v režimu nabízených oznámení, vytvořte konfiguraci DSCLocalConfigurationManager s jedním blokem PartialConfiguration pro každou částečnou konfiguraci. Další informace o konfiguraci LCM naleznete v části Konfigurace místního správce konfigurace systému Windows. Následující příklad ukazuje konfiguraci LCM, která očekává dvě částečné konfigurace – jednu, která nasadí operační systém, a jednu, která nasadí a nakonfiguruje SharePoint.
[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
RefreshMode pro každou částečnou konfiguraci je nastaven na "Push". Názvy bloků PartialConfiguration (v tomto případě "ServiceAccountConfig" a "SharePointConfig") se musí přesně shodovat s názvy konfigurací, které jsou odeslány do cílového uzlu.
Poznámka:
Název každého bloku PartialConfiguration se musí shodovat se skutečným názvem konfigurace tak, jak je specifikován v konfiguračním skriptu, nikoli s názvem souboru MOF, který by měl být buď názvem cílového uzlu, nebo localhost.
Publikování a spouštění částečných konfigurací v režimu nabízená komunikace
Pak zavoláte Publish-DSCConfiguration pro každou konfiguraci a předáte složky, které obsahují konfigurační dokumenty, jako parametry cesty .
Publish-DSCConfigurationumístí konfigurační soubory MOF do cílových uzlů. Po publikování obou konfigurací můžete volat Start-DSCConfiguration –UseExisting na cílový uzel.
Pokud jste například zkompilovali následující konfigurační dokumenty MOF v uzlu pro vytváření:
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
Konfigurace byste publikovali a spustili následujícím způsobem:
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...
Poznámka:
Uživatel, který spouští rutinu Publish-DSCConfiguration , musí mít oprávnění správce v cílovém uzlu.
Částečné konfigurace v režimu vytažení
Částečné konfigurace je možné načíst z jednoho nebo více serverů vyžádané replikace (další informace o serverech vyžádané konfigurace Windows PowerShellu najdete v tématu Windows PowerShell Desired State Configuration Pull Servery. Chcete-li to provést, musíte nakonfigurovat LCM na cílovém uzlu tak, aby vyžádal částečné konfigurace, a správně pojmenovat a umístit konfigurační dokumenty na serverech pro vyžádání.
Konfigurace LCM pro konfigurace uzlů pro vyžádání
Chcete-li nakonfigurovat LCM tak, aby načítal částečné konfigurace ze serveru vyžádané replikace, definujete server vyžádané replikace v bloku ConfigurationRepositoryWeb (pro server vyžádané replikace) nebo ConfigurationRepositoryShare (pro server vyžádané replikace SMB). Poté vytvoříte bloky PartialConfiguration , které odkazují na server vyžádané replikace pomocí vlastnosti ConfigurationSource . Také je nutné vytvořit blok Nastavení, který určí, že LCM používá režim vyžádané replikace, a určíte ConfigurationNames nebo ConfigurationID, které server vyžádané replikace a cílový uzel používají k identifikaci konfigurací. Následující metakonfigurace definuje server vyžádané replikace HTTP s názvem CONTOSO-PullSrv a dvě částečné konfigurace, které tento server vyžádané replikace používají.
Další informace o konfiguraci LCM pomocí ConfigurationNames naleznete v části Nastavení klienta pro vyžádání replikované replikace pomocí názvů konfigurací. Informace o konfiguraci LCM pomocí ConfigurationID naleznete v části Nastavení klienta pro vyžádání pomocí ID konfigurace.
Konfigurace LCM pro konfigurace v režimu vytažení pomocí konfiguračních názvů
[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'
}
}
Konfigurace LCM pro konfigurace režimu vytažení pomocí ConfigurationID
[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
Částečné konfigurace můžete vyžádat z více než jednoho serveru vyžádané replikace – stačilo by definovat každý server vyžádané replikace a poté odkazovat na příslušný server vyžádané replikace v každém bloku PartialConfiguration .
Po vytvoření metakonfigurace ji musíte spustit, abyste vytvořili konfigurační dokument (soubor MOF), a pak zavolat Set-DscLocalConfigurationManager ke konfiguraci LCM.
Pojmenování a umístění konfiguračních dokumentů na server vyžádané replikace (ConfigurationNames)
Částečné konfigurační dokumenty musí být umístěny ve složce určené jako ConfigurationPath v web.config souboru pro server vyžádané replikace (obvykle C:\Program Files\WindowsPowerShell\DscService\Configuration).
Pojmenování konfiguračních dokumentů na serveru vyžádané replikace v PowerShellu 5.1
Pokud stahujete pouze jednu částečnou konfiguraci z jednotlivého serveru vyžádané replikace, může mít konfigurační dokument libovolný název. Pokud načítáte více než jednu částečnou konfiguraci ze serveru vyžádané replikace, může být konfigurační dokument pojmenován buď <ConfigurationName>.mof, kde ConfigurationName je název částečné konfigurace, nebo <ConfigurationName>.<NodeName>.mof, kde ConfigurationName je název částečné konfigurace a NodeName je název cílového uzlu. To vám umožní načítat konfigurace ze serveru vyžádané replikace Azure Automation DSC.
Pojmenování konfiguračních dokumentů na serveru vyžádané replikace v PowerShellu 5.0
Konfigurační dokumenty musí být pojmenovány takto: ConfigurationName.mof, kde ConfigurationName je název částečné konfigurace. V našem příkladu by konfigurační dokumenty měly být pojmenovány takto:
ServiceAccountConfig.mof
ServiceAccountConfig.mof.checksum
SharePointConfig.mof
SharePointConfig.mof.checksum
Pojmenování a umístění konfiguračních dokumentů na server vyžádané replikace (ConfigurationID)
Částečné konfigurační dokumenty musí být umístěny ve složce určené jako ConfigurationPath v web.config souboru pro server vyžádané replikace (obvykle C:\Program Files\WindowsPowerShell\DscService\Configuration). Konfigurační dokumenty musí být pojmenovány následovně: <ConfigurationName>.<ConfigurationID>.mof, kde ConfigurationName je název částečné konfigurace a ConfigurationID je ID konfigurace definované v LCM na cílovém uzlu. V našem příkladu by konfigurační dokumenty měly být pojmenovány takto:
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
Spuštění částečných konfigurací ze serveru vyžádané replikace
Po nakonfigurování LCM na cílovém uzlu a vytvoření konfiguračních dokumentů a jejich správném pojmenování na serveru vyžádané replikace cílový uzel vyžádá částečné konfigurace, zkombinuje je a použije výslednou konfiguraci v pravidelných intervalech, jak je určeno vlastností RefreshFrequencyMins LCM. Pokud chcete vynutit aktualizaci, můžete zavolat rutinu Update-DscConfiguration , která konfigurace vyžádá a použije.
Částečné konfigurace ve smíšeném režimu push a pull
Můžete také kombinovat režimy push a pull pro částečné konfigurace. To znamená, že můžete mít jednu částečnou konfiguraci, která se stáhne ze serveru vyžádané replikace, zatímco se nasdílí jiná částečná konfigurace. Zadejte režim aktualizace pro každou částečnou konfiguraci, jak je popsáno v předchozích částech. Například následující metakonfigurace popisuje stejný příklad s částečnou ServiceAccountConfig konfigurací v režimu stahování a částečnou SharePointConfig konfigurací v režimu odesílání.
Smíšené režimy push a pull pomocí ConfigurationNames
[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'
}
}
Smíšené režimy nabíjení a stahování pomocí ConfigurationID
[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
Všimněte si, že RefreshMode zadaný v bloku Nastavení je "Pull", ale RefreshMode pro SharePointConfig částečnou konfiguraci je "Push".
Pojmenujte a vyhledejte konfigurační soubory MOF podle výše uvedeného popisu pro příslušné režimy aktualizace.
Voláním Publish-DSCConfiguration publikujte částečnou SharePointConfig konfiguraci a buď počkejte, až ServiceAccountConfig se konfigurace načte ze serveru vyžádané replikace, nebo vynuťte aktualizaci voláním Update-DscConfiguration.
Příklad částečné konfigurace ServiceAccountConfig
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říklad částečné konfigurace SharePointConfig
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
Viz také
Windows PowerShell servery pro vyžádání změn konfigurace požadovaného stavu