Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: Windows PowerShell 5.0 en hoger.
In PowerShell 5.0 kunnen configuraties met Desired State Configuration (DSC) in fragmenten en uit meerdere bronnen worden geleverd. De Local Configuration Manager (LCM) op het doelknooppunt voegt de fragmenten samen voordat ze als één configuratie worden toegepast. Deze mogelijkheid maakt het mogelijk om de controle over de configuratie te delen tussen teams of individuen. Als twee of meer teams van ontwikkelaars bijvoorbeeld samenwerken aan een service, willen ze mogelijk elk configuraties maken om hun deel van de service te beheren. Elk van deze configuraties kan worden opgehaald uit verschillende pull-servers en ze kunnen in verschillende stadia van de ontwikkeling worden toegevoegd. Gedeeltelijke configuraties stellen verschillende individuen of teams ook in staat om verschillende aspecten van het configureren van knooppunten te beheren zonder dat ze het bewerken van een enkel configuratiedocument hoeven te coördineren. Het ene team kan bijvoorbeeld verantwoordelijk zijn voor het implementeren van een VM en besturingssysteem, terwijl een ander team andere toepassingen en services op die VM kan implementeren. Met deelconfiguraties kan elk team zijn eigen configuratie maken, zonder dat een van beide onnodig ingewikkeld is.
U kunt gedeeltelijke configuraties gebruiken in de push-modus, de pull-modus of een combinatie van beide.
Gedeeltelijke configuraties in push-modus
Als u gedeeltelijke configuraties in de push-modus wilt gebruiken, configureert u de LCM op het doelknooppunt om de gedeeltelijke configuraties te ontvangen. Elke gedeeltelijke configuratie moet naar het doel worden gepusht met behulp van de Publish-DSCConfiguration cmdlet. Het doelknooppunt combineert vervolgens de gedeeltelijke configuratie in één configuratie en u kunt de configuratie toepassen door de cmdlet Start-DscConfiguration aan te roepen.
De LCM configureren voor gedeeltelijke configuraties in de push-modus
Als u de LCM wilt configureren voor gedeeltelijke configuraties in de push-modus, maakt u een DSCLocalConfigurationManager-configuratie met één PartialConfiguration-blok voor elke gedeeltelijke configuratie. Zie Windows De Local Configuration Manager configureren voor meer informatie over het configureren van de LCM. In het volgende voorbeeld ziet u een LCM-configuratie die twee gedeeltelijke configuraties verwacht: één die het besturingssysteem implementeert en één die SharePoint implementeert en configureert.
[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
De RefreshMode voor elke gedeeltelijke configuratie is ingesteld op "Push". De namen van de PartialConfiguration-blokken (in dit geval 'ServiceAccountConfig' en 'SharePointConfig') moeten exact overeenkomen met de namen van de configuraties die naar het doelknooppunt worden gepusht.
Opmerking
De naam van elk PartialConfiguration-blok moet overeenkomen met de werkelijke naam van de configuratie zoals deze is opgegeven in het configuratiescript, niet de naam van het MOF-bestand, dat de naam van het doelknooppunt of localhostmoet zijn.
Gedeeltelijke configuraties in de push-modus publiceren en starten
Vervolgens roept u Publish-DSCConfiguration aan voor elke configuratie en geeft u de mappen die de configuratiedocumenten bevatten door als de padparameters .
Publish-DSCConfigurationplaatst de configuratie MOF-bestanden op de doelknooppunten. Nadat u beide configuraties hebt gepubliceerd, kunt u het doelknooppunt aanroepen Start-DSCConfiguration –UseExisting .
Als u bijvoorbeeld de volgende MOF-configuratiedocumenten hebt gecompileerd op het ontwerpknooppunt:
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
U zou de configuraties als volgt publiceren en uitvoeren:
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...
Opmerking
De gebruiker die de cmdlet Publish-DSCConfiguration uitvoert, moet beheerdersbevoegdheden hebben op het doelknooppunt.
Gedeeltelijke configuraties in pull-modus
Gedeeltelijke configuraties kunnen worden opgehaald uit een of meer pull-servers (zie Windows PowerShell Desired State Configuration Pull Servers voor meer informatie over pull-servers. Om dit te doen, moet u de LCM op het doelknooppunt configureren om de gedeeltelijke configuraties op te halen en de configuratiedocumenten op de juiste manier een naam te geven en te zoeken op de pull-servers.
De LCM configureren voor pull-knooppuntconfiguraties
Als u de LCM wilt configureren om gedeeltelijke configuraties uit een pull-server op te halen, definieert u de pull-server in een ConfigurationRepositoryWeb (voor een HTTP-pull-server) of ConfigurationRepositoryShare (voor een SMB-pull-server). Vervolgens maakt u PartialConfiguration-blokken die verwijzen naar de pull-server met behulp van de eigenschap ConfigurationSource . U moet ook een instellingenblok maken om aan te geven dat de LCM de pull-modus gebruikt en om de ConfigurationNames of ConfigurationID op te geven die de pull-server en het doelknooppunt gebruiken om de configuraties te identificeren. In de volgende metaconfiguratie wordt een HTTP-pull-server met de naam CONTOSO-PullSrv gedefinieerd en twee gedeeltelijke configuraties die gebruikmaken van die pull-server.
Zie Een pull-client instellen met behulp van configuratienamen voor meer informatie over het configureren van de LCM met behulp van ConfigurationNames. Zie Een pull-client instellen met behulp van configuratie-ID voor meer informatie over het configureren van de LCM met behulp van ConfigurationID.
De LCM configureren voor pull-modusconfiguraties met behulp van configuratienamen
[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'
}
}
De LCM configureren voor pull-modusconfiguraties met behulp van 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
U kunt gedeeltelijke configuraties ophalen van meer dan één pull-server: u hoeft alleen maar elke pull-server te definiëren en vervolgens naar de juiste pull-server in elk PartialConfiguration-blok te verwijzen.
Nadat u de metaconfiguratie hebt gemaakt, moet u deze uitvoeren om een configuratiedocument (een MOF-bestand) te maken en vervolgens Set-DscLocalConfigurationManager aan te roepen om de LCM te configureren.
De configuratiedocumenten een naam geven en plaatsen op de pull-server (ConfigurationNames)
De gedeeltelijke configuratiedocumenten moeten worden geplaatst in de map die is opgegeven als het ConfigurationPath in het web.config bestand voor de pull-server (meestal C:\Program Files\WindowsPowerShell\DscService\Configuration).
Configuratiedocumenten een naam geven op de pull-server in PowerShell 5.1
Als u slechts één gedeeltelijke configuratie ophaalt van een afzonderlijke pull-server, kan het configuratiedocument elke naam hebben. Als u meer dan één gedeeltelijke configuratie van een pull-server ophaalt, kan het configuratiedocument de naam <ConfigurationName>.mof, waarbij ConfigurationName de naam van de gedeeltelijke configuratie is, of <ConfigurationName>.<NodeName>.mof, waarbij ConfigurationName de naam van de gedeeltelijke configuratie is en NodeName de naam van het doelknooppunt. Hiermee kunt u configuraties ophalen uit de Azure Automation DSC-pullserver.
Naamgeving van configuratiedocumenten op de pull-server in PowerShell 5.0
De configuratiedocumenten moeten de volgende naam hebben: ConfigurationName.mof, waarbij ConfigurationName de naam van de gedeeltelijke configuratie is. In ons voorbeeld moeten de configuratiedocumenten de volgende naam hebben:
ServiceAccountConfig.mof
ServiceAccountConfig.mof.checksum
SharePointConfig.mof
SharePointConfig.mof.checksum
Naamgeving en plaatsing van de configuratiedocumenten op de pull-server (ConfigurationID)
De gedeeltelijke configuratiedocumenten moeten worden geplaatst in de map die is opgegeven als het ConfigurationPath in het web.config bestand voor de pull-server (meestal C:\Program Files\WindowsPowerShell\DscService\Configuration). De configuratiedocumenten moeten als volgt worden genoemd: <ConfigurationName>.<ConfigurationID>.mof, waarbij ConfigurationName de naam is van de gedeeltelijke configuratie en ConfigurationID de configuratie-ID is die is gedefinieerd in de LCM op het doelknooppunt. In ons voorbeeld moeten de configuratiedocumenten de volgende naam hebben:
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
Gedeeltelijke configuraties uitvoeren vanaf een pull-server
Nadat de LCM op het doelknooppunt is geconfigureerd en de configuratiedocumenten zijn gemaakt en de juiste naam hebben gekregen op de pull-server, zal het doelknooppunt de gedeeltelijke configuraties ophalen, deze combineren en de resulterende configuratie met regelmatige tussenpozen toepassen, zoals gespecificeerd door de eigenschap RefreshFrequencyMins van de LCM. Als u een vernieuwing wilt forceren, kunt u de cmdlet Update-DscConfiguration aanroepen om de configuraties op te halen en toe te passen.
Gedeeltelijke configuraties in gemengde push- en pull-modi
U kunt ook push- en pull-modi combineren voor gedeeltelijke configuraties. Dat wil zeggen dat u een gedeeltelijke configuratie kunt hebben die uit een pull-server wordt gehaald, terwijl een andere gedeeltelijke configuratie wordt gepusht. Geef de vernieuwingsmodus op voor elke gedeeltelijke configuratie, zoals beschreven in de vorige secties. De volgende meta-configuratie beschrijft bijvoorbeeld hetzelfde voorbeeld, met de ServiceAccountConfig gedeeltelijke configuratie in pull-modus en de gedeeltelijke configuratie in push-modus SharePointConfig .
Gemengde push- en pull-modi met behulp van 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'
}
}
Gemengde push- en pull-modi met behulp van 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
Merk op dat de RefreshMode die is opgegeven in het instellingenblok "Pull" is, maar de RefreshMode voor de SharePointConfig gedeeltelijke configuratie "Push".
Noem en zoek de configuratie-MOF-bestanden zoals hierboven beschreven voor hun respectievelijke verversingsmodi.
Roep Publish-DSCConfiguration aan om de SharePointConfig gedeeltelijke configuratie te publiceren en wacht tot de ServiceAccountConfig configuratie uit de pull-server is gehaald, of forceer een vernieuwing door Update-DscConfiguration aan te roepen.
Voorbeeld van gedeeltelijke configuratie van 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
Voorbeeld SharePointConfig gedeeltelijke configuratie
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
Zie ook
Windows PowerShell Gewenste status Configuratie Pull Servers