Osvědčené postupy serveru vyžádané replikace
Platí pro: Windows PowerShell 4.0, Windows PowerShell 5.0
Důležité
Server vyžádané replikace ( služba Windows Feature DSC-Service) je podporovanou součástí Windows Serveru, ale neplánuje se nabízet nové funkce nebo možnosti. rádi bychom vás seznámili s tím, že novější verze DSC je teď obecně dostupná, spravovaná funkcí Azure Policy s názvem host configuration. Služba konfigurace hosta kombinuje funkce rozšíření DSC, Azure Automation State Configuration a nejčastěji požadované funkce ze zpětné vazby zákazníků. Konfigurace hosta zahrnuje také podporu hybridních počítačů prostřednictvím serverů s podporou Arc.
Shrnutí: Tento dokument je určen k zahrnutí procesů a rozšiřitelnosti, které pomáhají technikům, kteří se na řešení připravují. Podrobnosti by měly obsahovat osvědčené postupy, které identifikují zákazníci a následně ověřují produktový tým, aby se zajistilo, že doporučení budou v budoucnu a budou považována za stabilní.
- Autor: Michael Greene
- Hodnotící: Ben Gelens, Ravikanth Chaganti, Aleksandar Nikolic
- Publikováno: duben 2015
Shrnutí
Tento dokument je navržený tak, aby poskytoval oficiální pokyny pro každého, kdo plánuje implementaci serveru Windows PowerShell Desired State Configuration vyžádané replikace. Server vyžádané replikace je jednoduchá služba, která by měla trvat jen minuty. I když tento dokument nabídne technické návody, které se dají použít v nasazení, jeho význam spočívá v referenci pro osvědčené postupy a o tom, co je potřeba před nasazením promyslet. Čtenáři by měli mít základní znalost DSC a termíny používané k popisu komponent, které jsou součástí nasazení DSC. Další informace najdete v tématu přehledu Windows PowerShell Desired State Configuration. Vzhledem k tomu, že se očekává, že se DSC bude vyvíjet v cloudovém tempu, očekává se, že se základní technologie, včetně serveru vyžádané replikace, rozvinou a zavedou nové funkce. Tento dokument obsahuje tabulku verzí v dodatku, která obsahuje odkazy na předchozí verze a odkazy na budoucí řešení, která podporují návrhy s výhledem na budoucnost.
Dvě hlavní části tohoto dokumentu:
- Plánování konfigurace
- Průvodce instalací
Verze Windows Management Framework
Informace v tomto dokumentu mají platit pro Windows Management Framework 5.0. I když se WMF 5.0 pro nasazení a provoz serveru vyžádané replikace nevyžaduje, tento dokument se zaměřuje na verzi 5.0.
Windows PowerShell Desired State Configuration
Desired State Configuration (DSC) je platforma pro správu, která umožňuje nasazení a správu konfiguračních dat pomocí oborové syntaxe s názvem MOF (Managed Object Format) pro popis modelu CIM (Common Information Model). Existuje open source projekt Open Management Infrastructure (OMI) pro další vývoj těchto standardů napříč platformami, včetně linuxových a síťových hardwarových operačních systémů. Další informace najdete na stránce DMTF odkazující na specifikace MOF a Dokumenty a zdroj OMI.
Windows PowerShell poskytuje sadu jazykových rozšíření pro Desired State Configuration, které můžete použít k vytváření a správě deklarativních konfigurací.
Role serveru vyžádané replikace
Server vyžádané replikace poskytuje centralizovanou službu pro ukládání konfigurací, které budou přístupné cílovým uzlům.
Roli serveru vyžádané replikace je možné nasadit buď jako instanci webového serveru, nebo jako sdílenou složku SMB. Funkce webového serveru zahrnuje rozhraní OData a volitelně může zahrnovat funkce pro cílové uzly, které můžou při použití konfigurace hlásit potvrzení o úspěchu nebo neúspěchu. Tato funkce je užitečná v prostředích, kde je velký počet cílových uzlů. Po nakonfigurování cílového uzlu (označovaného také jako klient) odkazujícího na server vyžádané replikace se stáhnou a použijí nejnovější konfigurační data a všechny požadované skripty. K tomu může dojít jako jednorázové nasazení nebo jako opakovaná úloha, díky čemuž je server vyžádané replikace důležitým aktivem pro správu změn ve velkém měřítku. Další informace najdete v tématu Režimy konfigurace nabízených oznámení a vyžádání.
Plánování konfigurace
Pro každé nasazení podnikového softwaru existují informace, které je možné předem shromáždit, aby vám pomohly naplánovat správnou architekturu a připravit se na kroky potřebné k dokončení nasazení. Následující části obsahují informace o tom, jak se připravit, a o organizačních připojeních, ke kterým pravděpodobně bude potřeba dojít předem.
Požadavky na software
Nasazení serveru vyžádané replikace vyžaduje funkci služby DSC systému Windows Server. Tato funkce byla zavedena v Windows Server 2012 a byla aktualizována prostřednictvím probíhajících verzí Windows Management Framework (WMF).
Software ke stažení
Kromě instalace nejnovějšího obsahu z služba Windows Update existují dva soubory ke stažení, které se považují za osvědčený postup nasazení serveru vyžádané replikace DSC: nejnovější verze Windows Management Framework a modul DSC pro automatizaci zřizování serveru vyžádané replikace.
Prostředek DSC
Nasazení serveru vyžádané replikace se dá zjednodušit zřízením služby pomocí konfiguračního skriptu DSC. Tento dokument obsahuje konfigurační skripty, které lze použít k nasazení uzlu serveru připraveného pro produkční prostředí. K použití konfiguračních skriptů se vyžaduje modul DSC, který není součástí Windows Serveru. Požadovaný název modulu je xPSDesiredStateConfiguration, který zahrnuje prostředek DSC xDscWebService. Modul xPSDesiredStateConfiguration si můžete stáhnout z Galerie prostředí PowerShell.
Použijte rutinu Install-Module
z modulu PowerShellGet .
Install-Module xPSDesiredStateConfiguration
Modul PowerShellGet stáhne modul do:
C:\Program Files\Windows PowerShell\Modules
Plánovací úkol
- Máte přístup k instalačním souborům pro Windows Server 2012 R2?
- Bude mít prostředí nasazení přístup k internetu ke stažení WMF a modulu z online galerie?
- Jak nainstalujete nejnovější aktualizace zabezpečení po instalaci operačního systému?
- Bude mít prostředí přístup k internetu, aby mohlo získávat aktualizace, nebo bude mít místní server Windows Server Update Services (WSUS)?
- Máte přístup k instalačním souborům Windows Serveru, které už obsahují aktualizace prostřednictvím offline injektáže?
Požadavky na hardware
Nasazení serveru vyžádané replikace jsou podporována na fyzických i virtuálních serverech. Požadavky na velikost serveru vyžádané replikace odpovídají požadavkům pro Windows Server 2012 R2.
- CPU: 64bitový procesor 1,4 GHz
- Paměť: 512 MB
- Místo na disku: 32 GB
- Síť: Adaptér gigabitového ethernetu
Plánovací úkol
- Budete nasazovat na fyzický hardware nebo na virtualizační platformu?
- Jaký je proces vyžádání nového serveru pro cílové prostředí?
- Jaká je průměrná doba odevzdání serveru k dispozici?
- Jakou velikost serveru budete požadovat?
Účty
Pro nasazení instance serveru vyžádané replikace neexistují žádné požadavky na účet služby. Existují však scénáře, ve kterých by web mohl běžet v kontextu místního uživatelského účtu. Například pokud potřebujete přístup ke sdílené složce úložiště pro obsah webu a Windows Server nebo zařízení hostující sdílenou složku úložiště nejsou připojené k doméně.
Záznamy DNS
Při konfiguraci klientů pro práci s prostředím serveru vyžádané replikace budete potřebovat název serveru. V testovacích prostředích se obvykle používá název hostitele serveru nebo IP adresa serveru, pokud není k dispozici překlad názvů DNS. V produkčních prostředích nebo testovacím prostředí, které má představovat produkční nasazení, je osvědčeným postupem vytvoření záznamu DNS CNAME.
DNS CNAME umožňuje vytvořit alias odkazující na záznam hostitele (A). Záměrem dalšího záznamu názvu je zvýšit flexibilitu, pokud by se v budoucnu vyžadovala změna. CNAME může pomoct izolovat konfiguraci klienta tak, aby změny v serverovém prostředí, například nahrazení serveru vyžádané replikace nebo přidání dalších serverů vyžádané replikace, nevyžadovaly odpovídající změnu konfigurace klienta.
Při výběru názvu záznamu DNS mějte na paměti architekturu řešení. Pokud používáte vyrovnávání zatížení, certifikát použitý k zabezpečení provozu přes HTTPS musí sdílet stejný název jako záznam DNS.
Osvědčené postupy scénáře
- Testovací prostředí – pokud je to možné, reprodukujte plánované produkční prostředí. Název hostitele serveru je vhodný pro jednoduché konfigurace. Pokud dns není k dispozici, může se místo názvu hostitele použít IP adresa.
- Nasazení s jedním uzlem – Vytvořte záznam DNS CNAME, který odkazuje na název hostitele serveru.
Další informace najdete v tématu Konfigurace kruhového dotazování DNS ve Windows Serveru.
Plánovací úkol
- Víte, koho kontaktovat, aby se vytvořily a změnily záznamy DNS?
- Jaký je průměrný obrat žádosti o záznam DNS?
- Potřebujete pro servery vyžadovat statické záznamy názvu hostitele (A)?
- Co budete požadovat jako CNAME?
- Jaký typ řešení vyrovnávání zatížení v případě potřeby využijete? (podrobnosti najdete v části s názvem Vyrovnávání zatížení.
Infrastruktura veřejných klíčů
Většina dnešních organizací vyžaduje, aby se síťový provoz, zejména provoz zahrnující taková citlivá data, jako je konfigurace serverů, během přenosu ověřoval nebo šifroval. Server vyžádané replikace je sice možné nasadit pomocí protokolu HTTP, který usnadňuje požadavky klientů ve formátu prostého textu, ale osvědčeným postupem je zabezpečit provoz pomocí protokolu HTTPS. Službu je možné nakonfigurovat tak, aby používala HTTPS pomocí sady parametrů v prostředku DSC xPSDesiredStateConfiguration.
Požadavky na certifikát pro zabezpečení provozu HTTPS pro server vyžádané replikace se neliší od zabezpečení jakéhokoli jiného webu HTTPS. Šablona webového serveru ve službě Windows Server Certificate Services splňuje požadované možnosti.
Plánovací úkol
- Pokud nejsou žádosti o certifikát automatizované, koho budete muset kontaktovat, pokud chcete požádat o certifikát?
- Jaký je průměrný obrat žádosti?
- Jak se na vás soubor certifikátu přenese?
- Jak se na vás přenese privátní klíč certifikátu?
- Jak dlouho je výchozí doba vypršení platnosti?
- Usadili jste se na názvu DNS pro prostředí serveru vyžádané replikace, který můžete použít pro název certifikátu?
Volba architektury
Server vyžádané replikace je možné nasadit buď pomocí webové služby hostované ve službě IIS, nebo sdílené složky SMB. Ve většině situací bude možnost webové služby poskytovat větší flexibilitu. Provoz HTTPS často prochází hranice sítě, zatímco provoz SMB se mezi sítěmi často filtruje nebo blokuje. Webová služba také nabízí možnost zahrnout Server shody nebo Web Reporting Manager (obě témata budou řešena v budoucí verzi tohoto dokumentu), které klientům poskytují mechanismus pro hlášení stavu zpět na server za účelem centralizované viditelnosti. Protokol SMB nabízí možnost pro prostředí, ve kterých zásady určují, že by se webový server neměl využívat, a pro další požadavky na prostředí, které činí roli webového serveru nežádoucím. V obou případech nezapomeňte vyhodnotit požadavky na podepisování a šifrování provozu. Zásady protokolu HTTPS, podepisování SMB a IPSEC jsou možnosti, které stojí za zvážení.
Vyrovnávání zatížení
Klienti pracující s webovou službou požádají o informace, které se vrátí v jedné odpovědi. Nejsou vyžadovány žádné sekvenční požadavky, takže není nutné, aby platforma pro vyrovnávání zatížení zajistila, aby se relace v libovolném okamžiku udržovaly na jednom serveru.
Plánovací úkol
- Jaké řešení se použije pro vyrovnávání zatížení provozu mezi servery?
- Pokud používáte nástroj pro vyrovnávání zatížení hardwaru, kdo přijme žádost o přidání nové konfigurace do zařízení?
- Jaký je průměrný obrat požadavku na konfiguraci nové webové služby s vyrovnáváním zatížení?
- Jaké informace budou pro žádost vyžadovány?
- Budete muset požádat o další IP adresu, nebo to vyřeší tým zodpovědný za vyrovnávání zatížení?
- Máte potřebné záznamy DNS a bude je vyžadovat tým zodpovědný za konfiguraci řešení vyrovnávání zatížení?
- Vyžaduje řešení vyrovnávání zatížení, aby zařízení zpracovávalo infrastrukturu veřejných klíčů, nebo může vyrovnávat zatížení provozu HTTPS, pokud neexistují žádné požadavky na relaci?
Přípravné konfigurace a moduly na serveru vyžádané replikace
V rámci plánování konfigurace budete muset přemýšlet o tom, které moduly A KONFIGURACE DSC budou hostovány serverem vyžádané replikace. Pro účely plánování konfigurace je důležité mít základní znalosti o tom, jak připravit a nasadit obsah na server vyžádané replikace.
V budoucnu bude tato část rozšířena a zahrnuta do provozní příručky pro server vyžádané replikace DSC. Průvodce bude probírat každodenní proces správy modulů a konfigurací v průběhu času s využitím automatizace.
Moduly DSC
Klienti, kteří vyžadují konfiguraci, budou potřebovat požadované moduly DSC. Funkce serveru vyžádané replikace spočívá v automatizaci distribuce modulů DSC na vyžádání klientům. Pokud server vyžádané replikace nasazujete poprvé, třeba jako testovací prostředí nebo testování konceptu, budete pravděpodobně záviset na modulech DSC, které jsou k dispozici z veřejných úložišť, jako jsou Galerie prostředí PowerShell nebo úložiště PowerShell.org GitHub pro moduly DSC.
Je důležité si uvědomit, že i u důvěryhodných online zdrojů, jako je Galerie prostředí PowerShell, by každý modul stažený z veřejného úložiště měl před použitím v produkčním prostředí zkontrolovat někdo, kdo má zkušenosti s Prostředím PowerShell a znalost prostředí, ve kterém se budou moduly používat. Během dokončení tohoto úkolu je vhodné zkontrolovat, jestli v modulu nenajdete další datovou část, kterou je možné odebrat, například dokumentaci a ukázkové skripty. Tím se sníží šířka pásma sítě na klienta při prvním požadavku, když se moduly stáhnou přes síť ze serveru do klienta.
Každý modul musí být zabalen v určitém formátu, tj. souboru ZIP s názvem ModuleName_Version.zip, který obsahuje datovou část modulu. Po zkopírování souboru na server musí být vytvořen soubor kontrolního součtu. Když se klienti připojují k serveru, kontrolní součet se použije k ověření, že se od publikování nezměnil obsah modulu DSC.
New-DscChecksum -ConfigurationPath .\ -OutPath .\
Plánovací úkol
- Pokud plánujete testovací nebo testovací prostředí, které scénáře jsou klíčem k ověření?
- Existují veřejně dostupné moduly, které obsahují prostředky pro pokrytí všeho, co potřebujete, nebo budete muset vytvořit vlastní prostředky?
- Bude mít vaše prostředí přístup k internetu pro načítání veřejných modulů?
- Kdo bude zodpovědný za kontrolu modulů DSC?
- Pokud plánujete produkční prostředí, co použijete jako místní úložiště pro ukládání modulů DSC?
- Přijme centrální tým moduly DSC od aplikačních týmů? Jaký bude proces?
- Budete automatizovat balení, kopírování a vytváření kontrolního součtu pro moduly DSC připravené pro produkční prostředí na server ze zdrojového úložiště?
- Bude váš tým zodpovědný také za správu automatizační platformy?
Konfigurace DSC
Účelem serveru vyžádané replikace je poskytnout centralizovaný mechanismus pro distribuci konfigurací DSC do klientských uzlů. Konfigurace jsou uložené na serveru jako dokumenty MOF. Každý dokument bude mít jedinečný identifikátor GUID. Když jsou klienti nakonfigurovaní pro připojení k serveru vyžádané replikace, dostanou také identifikátor GUID pro konfiguraci, kterou by měli požadovat. Tento systém odkazování na konfigurace pomocí identifikátoru GUID zaručuje globální jedinečnost a je flexibilní, takže konfiguraci lze použít s členitostí na uzel nebo jako konfiguraci role, která pokrývá mnoho serverů, které by měly mít stejné konfigurace.
Guid
Plánování konfiguračních guidů stojí za další pozornost při zvažování nasazení serveru vyžádané replikace. Neexistuje žádný konkrétní požadavek na zpracování identifikátorů GUID a proces bude pravděpodobně pro každé prostředí jedinečný. Proces může být jednoduchý až složitý: centrálně uložený soubor CSV, jednoduchá tabulka SQL, CMDB nebo komplexní řešení vyžadující integraci s jiným nástrojem nebo softwarovým řešením. Existují dva obecné přístupy:
Přiřazování identifikátorů GUID na server – Poskytuje míru jistoty, že každá konfigurace serveru je řízena jednotlivě. To poskytuje úroveň přesnosti v oblasti aktualizací a může dobře fungovat v prostředích s několika servery.
Přiřazování identifikátorů GUID na roli serveru – Všechny servery, které provádějí stejnou funkci, jako jsou webové servery, používají stejný identifikátor GUID k odkazování na požadovaná konfigurační data. Mějte na paměti, že pokud mnoho serverů sdílí stejný identifikátor GUID, všechny z nich by se při změně konfigurace aktualizovaly současně.
Identifikátor GUID je něco, co by mělo být považováno za citlivá data, protože ho může využít někdo se zlými úmysly k získání informací o tom, jak se servery nasazují a konfigurují ve vašem prostředí. Další informace najdete v tématu Zabezpečené přidělování identifikátorů GUID v PowerShellu Desired State Configuration režimu vyžádání.
Plánovací úkol
- Kdo bude zodpovědný za kopírování konfigurací do složky serveru vyžádané replikace, až budou připravené?
- Pokud jsou konfigurace vytvořené týmem aplikací, jaký bude proces jejich předání?
- Budete využívat úložiště k ukládání konfigurací v rámci vytváření napříč týmy?
- Budete automatizovat proces kopírování konfigurací na server a vytvoření kontrolního součtu, až budou připravené?
- Jak namapujete identifikátory GUID na servery nebo role a kde se budou tyto identifikátory ukládat?
- Co použijete jako proces ke konfiguraci klientských počítačů a jak se bude integrovat s vaším procesem vytváření a ukládání identifikátorů GUID konfigurace?
Průvodce instalací
Skripty uvedené v tomto dokumentu představují stabilní příklady. Před spuštěním skriptů v produkčním prostředí vždy pečlivě zkontrolujte.
Požadavky
K ověření verze PowerShellu na serveru použijte následující příkaz.
$PSVersionTable.PSVersion
Pokud je to možné, upgradujte na nejnovější verzi Windows Management Framework. Dále stáhněte xPsDesiredStateConfiguration
modul pomocí následujícího příkazu.
Install-Module xPSDesiredStateConfiguration
Příkaz vás před stažením modulu požádá o schválení.
Instalační a konfigurační skripty
Nejlepší metodou nasazení serveru vyžádané replikace DSC je použití konfiguračního skriptu DSC. Tento dokument bude představovat skripty, včetně základních nastavení, která by konfigurovala pouze webovou službu DSC, a upřesňující nastavení, která by nakonfigurovala kompletní windows server včetně webové služby DSC.
Poznámka: V současné době xPSDesiredStateConfiguration
modul DSC vyžaduje, aby byl server národní prostředí EN-US.
Základní konfigurace pro Windows Server 2012
# This is a very basic Configuration to deploy a pull server instance in a lab
# environment on Windows Server 2012.
Configuration PullServer {
Import-DscResource -ModuleName xPSDesiredStateConfiguration
# Load the Windows Server DSC Service feature
WindowsFeature DSCServiceFeature
{
Ensure = 'Present'
Name = 'DSC-Service'
}
# Use the DSC Resource to simplify deployment of the web service
xDSCWebService PSDSCPullServer
{
Ensure = 'Present'
EndpointName = 'PSDSCPullServer'
Port = 8080
PhysicalPath = "$env:SYSTEMDRIVE\inetpub\wwwroot\PSDSCPullServer"
CertificateThumbPrint = 'AllowUnencryptedTraffic'
ModulePath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Modules"
ConfigurationPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration"
State = 'Started'
DependsOn = '[WindowsFeature]DSCServiceFeature'
}
}
PullServer -OutputPath 'C:\PullServerConfig\'
Start-DscConfiguration -Wait -Force -Verbose -Path 'C:\PullServerConfig\'
Pokročilá konfigurace pro Windows Server 2012 R2
# This is an advanced Configuration example for Pull Server production deployments
# on Windows Server 2012 R2. Many of the features demonstrated are optional and
# provided to demonstrate how to adapt the Configuration for multiple scenarios
# Select the needed resources based on the requirements for each environment.
# Optional scenarios include:
# * Reduce footprint to Server Core
# * Rename server and join domain
# * Switch from SSL to TLS for HTTPS
# * Automatically load certificate from Certificate Authority
# * Locate Modules and Configuration data on remote SMB share
# * Manage state of default websites in IIS
param (
[Parameter(Mandatory=$true)]
[ValidateNotNullorEmpty()]
[System.String] $ServerName,
[System.String] $DomainName,
[System.String] $CARootName,
[System.String] $CAServerFQDN,
[System.String] $CertSubject,
[System.String] $SMBShare,
[Parameter(Mandatory=$true)]
[ValidateNotNullorEmpty()]
[PsCredential] $Credential
)
Configuration PullServer {
Import-DscResource -ModuleName xPSDesiredStateConfiguration, xWebAdministration, xCertificate, xComputerManagement
Node localhost
{
# Configure the server to automatically corret configuration drift including reboots if needed.
LocalConfigurationManager
{
ConfigurationMode = 'ApplyAndAutoCorrect'
RebootNodeifNeeded = $node.RebootNodeifNeeded
CertificateId = $node.Thumbprint
}
# Remove all GUI interfaces so the server has minimum running footprint.
WindowsFeature ServerCore
{
Ensure = 'Absent'
Name = 'User-Interfaces-Infra'
}
# Set the server name and if needed, join a domain. If not joining a domain, remove the DomainName parameter.
xComputer DomainJoin
{
Name = $Node.ServerName
DomainName = $Node.DomainName
Credential = $Node.Credential
}
# The next series of settings disable SSL and enable TLS, for environments where that is required by policy.
Registry TLS1_2ServerEnabled
{
Ensure = 'Present'
Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server'
ValueName = 'Enabled'
ValueData = 1
ValueType = 'Dword'
}
Registry TLS1_2ServerDisabledByDefault
{
Ensure = 'Present'
Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server'
ValueName = 'DisabledByDefault'
ValueData = 0
ValueType = 'Dword'
}
Registry TLS1_2ClientEnabled
{
Ensure = 'Present'
Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client'
ValueName = 'Enabled'
ValueData = 1
ValueType = 'Dword'
}
Registry TLS1_2ClientDisabledByDefault
{
Ensure = 'Present'
Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client'
ValueName = 'DisabledByDefault'
ValueData = 0
ValueType = 'Dword'
}
Registry SSL2ServerDisabled
{
Ensure = 'Present'
Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server'
ValueName = 'Enabled'
ValueData = 0
ValueType = 'Dword'
}
# Install the Windows Server DSC Service feature
WindowsFeature DSCServiceFeature
{
Ensure = 'Present'
Name = 'DSC-Service'
}
# If using a certificate from a local Active Directory Enterprise Root Certificate Authority,
# complete a request and install the certificate
xCertReq SSLCert
{
CARootName = $Node.CARootName
CAServerFQDN = $Node.CAServerFQDN
Subject = $Node.CertSubject
AutoRenew = $Node.AutoRenew
Credential = $Node.Credential
}
# Use the DSC resource to simplify deployment of the web service. You might also consider
# modifying the default port, possibly leveraging port 443 in environments where that is
# enforced as a standard.
xDSCWebService PSDSCPullServer
{
Ensure = 'Present'
EndpointName = 'PSDSCPullServer'
Port = 8080
PhysicalPath = "$env:SYSTEMDRIVE\inetpub\wwwroot\PSDSCPullServer"
CertificateThumbPrint = 'CertificateSubject'
CertificateSubject = $Node.CertSubject
ModulePath = "$($Node.SMBShare)\DscService\Modules"
ConfigurationPath = "$($Node.SMBShare)\DscService\Configuration"
State = 'Started'
DependsOn = '[WindowsFeature]DSCServiceFeature'
}
# Validate web config file contains current DB settings
xWebConfigKeyValue CorrectDBProvider
{
ConfigSection = 'AppSettings'
Key = 'dbprovider'
Value = 'System.Data.OleDb'
WebsitePath = 'IIS:\sites\PSDSCPullServer'
DependsOn = '[xDSCWebService]PSDSCPullServer'
}
xWebConfigKeyValue CorrectDBConnectionStr
{
ConfigSection = 'AppSettings'
Key = 'dbconnectionstr'
Value = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\WindowsPowerShell\DscService\Devices.mdb;'
WebsitePath = 'IIS:\sites\PSDSCPullServer'
DependsOn = '[xDSCWebService]PSDSCPullServer'
}
# Stop the default website
xWebsite StopDefaultSite
{
Ensure = 'Present'
Name = 'Default Web Site'
State = 'Stopped'
PhysicalPath = 'C:\inetpub\wwwroot'
DependsOn = '[WindowsFeature]DSCServiceFeature'
}
}
}
$configData = @{
AllNodes = @(
@{
NodeName = 'localhost'
ServerName = $ServerName
DomainName = $DomainName
CARootName = $CARootName
CAServerFQDN = $CAServerFQDN
CertSubject = $CertSubject
AutoRenew = $true
SMBShare = $SMBShare
Credential = $Credential
RebootNodeifNeeded = $true
CertificateFile = 'c:\PullServerConfig\Cert.cer'
Thumbprint = 'B9A39921918B466EB1ADF2509E00F5DECB2EFDA9'
}
)
}
PullServer -ConfigurationData $configData -OutputPath 'C:\PullServerConfig\'
Set-DscLocalConfigurationManager -ComputerName localhost -Path 'C:\PullServerConfig\'
Start-DscConfiguration -Wait -Force -Verbose -Path 'C:\PullServerConfig\'
# .\Script.ps1 -ServerName web1 -domainname 'test.pha' -carootname 'test-dc01-ca' -caserverfqdn 'dc01.test.pha' -certsubject 'CN=service.test.pha' -smbshare '\\sofs1.test.pha\share'
Ověření funkčnosti serveru vyžádané replikace
# This function is meant to simplify a check against a DSC pull server. If you do not use the
# default service URL, you will need to adjust accordingly.
function Verify-DSCPullServer ($fqdn) {
([xml](Invoke-WebRequest "https://$($fqdn):8080/psdscpullserver.svc" | % Content)).service.workspace.collection.href
}
Verify-DSCPullServer 'INSERT SERVER FQDN'
Expected Result:
Action
Module
StatusReport
Node
Konfigurace klientů
Configuration PullClient {
param(
$ID,
$Server
)
LocalConfigurationManager
{
ConfigurationID = $ID;
RefreshMode = 'PULL';
DownloadManagerName = 'WebDownloadManager';
RebootNodeIfNeeded = $true;
RefreshFrequencyMins = 30;
ConfigurationModeFrequencyMins = 15;
ConfigurationMode = 'ApplyAndAutoCorrect';
DownloadManagerCustomData = @{
ServerUrl = "http://"+$Server+":8080/PSDSCPullServer.svc"
AllowUnsecureConnection = $true
}
}
}
PullClient -ID 'INSERTGUID' -Server 'INSERTSERVER' -Output 'C:\DSCConfig\'
Set-DscLocalConfigurationManager -ComputerName 'Localhost' -Path 'C:\DSCConfig\' -Verbose
Další odkazy, fragmenty kódu a příklady
Tento příklad ukazuje, jak ručně zahájit připojení klienta (vyžaduje WMF5) pro účely testování.
Update-DscConfiguration -Wait -Verbose
Rutina Add-DnsServerResourceRecordName slouží k přidání záznamu CNAME typu do zóny DNS.
Funkce PowerShellu pro vytvoření kontrolního součtu a publikování souboru MOF DSC na server vyžádané replikace SMB automaticky vygeneruje požadovaný kontrolní součet a pak zkopíruje konfigurační soubory MOF a soubory kontrolních součtů na server vyžádané replikace SMB.
Příloha – Principy datových souborů služby ODATA
Datový soubor je uložen za účelem vytvoření informací během nasazení serveru vyžádané replikace, který zahrnuje webovou službu OData. Typ souboru závisí na operačním systému, jak je popsáno níže.
- Windows Server 2012 – Typ souboru bude vždy
.mdb
- Windows Server 2012 R2 – Typ souboru bude ve výchozím nastavení nastaven na
.edb
, pokud.mdb
není v konfiguraci zadán parametr .
V rozšířeném ukázkovém skriptu pro instalaci serveru vyžádané replikace najdete také příklad automatického řízení web.config
nastavení souboru, aby se zabránilo případné chybě způsobené typem souboru.