180 likes | 383 Views
Configuration Management on Windows Server. Desired State Configuration. Declarative Configuration Management. Provisioning Verification Iterative Development. Desired State Configuration. Platform Feature – Not a product API over Open Standards So why do you need to know this stuff?
E N D
Configuration Management on Windows Server Desired State Configuration
Declarative Configuration Management • Provisioning • Verification • Iterative Development
Desired State Configuration • Platform Feature – Not a product • API over Open Standards • So why do you need to know this stuff? • DSC can run standalone • Be able to build composite configurations • Be able to build custom resources
Desired State Configuration • Local Configuration Manager • Configurations • Resources
Local Configuration Manager • AllowModuleOverwrite • CertificateID • ConfigurationID • ConfigurationMode • ConfigurationModeFrequencyMins • Credential • DownloadManagerCustomData • DownloadManagerName • RebootNodeIfNeeded • RefreshFrequencyMins • RefreshMode
Configurations • Declarative-ish • New keywords – configuration and node • Dynamic keywords (from resources) • Plus all the richness of PowerShell when you need it
Lab details • User – localhost\administrator • Password – Cascadia! • Wireless network – DoinDSC • Wireless password – Cascadia2014 • Available machines • 172.18.20.12 • 172.18.20.13 • 172.18.20.14 • 172.18.20.15 • 172.18.20.16 • 172.18.20.17
Configurations Configuration MyLocalConfig { Node localhost { File SomeConfigFile {…} } }
Configurations • Separate your environment from your data • How? • With ConfigurationData
Composite Configurations • Configurations can use other configurations like resources. • Configurations are just like functions... They can have parameters. • Composite configurations are a way to logically group resources.
Applying Configurations • Send-DscConfiguration
Troubleshooting Configurations • cDscDiagnostics module
Resources • WMI - based • PowerShell - based
Resources • WMI - Three methods • GetTargetResource • SetTargetResource • TestTargetResource
Resources • Powershell-based resources • They reside in a module under a subfolder DscResources • They are modules themselves with three functions • Get-TargetResource • Set-TargetResource • Test-TargetResource
Resources • Resources reside in modules on PSModulePath • Defaults are • $pshome/modules • $env:programfiles/windowspowershell/modules
Other Stuff • Pull Server • SMB vs REST • Workflow • Source Control
Docs and Resources • Github.com/powershellorg/ebooks • Blogs.msdn.com/b/powershell • Github.com/powershellorg/dsc • Version Control By Example – ebook by Eric Sink