Desired State Configuration Resources for VMware
The VMware.vSphereDSC module is a collection of DSC Resources. This module includes DSC resources that simplify the management of vCenter and ESXi settings, with a simple declarative language.
The VMware.vSphereDSC module contains resources which are configuring:
- NTP, DNS, TPS and Syslog settings of VMHosts.
- Motd and Issue Advanced Settings of VMHosts.
- Host services of VMHosts.
- SATP Claim Rules of VMHosts.
- Statistics and Advanced Settings of vCenters.
For more information about all available Resources, please visit the wiki page of the repository: Wiki.
VMware.vSphereDSC module contains Windows PowerShell Desired State Configuration Resources. The following table describes the required dependencies for running VMware.vSphereDSC Resources.
|Required dependency||Minimum version|
||5.1 (PS Core not supported)|
For information on how to install PowerShell, please visit Installing Windows PowerShell.
For information on how to install PowerCLI, please visit the PowerCLI Blog.
You also need to configure the DSC LCM on a Windows machine where the resources will run. For more information on how to configure it, please visit Desired State Configuration Quick Start
Installing the VMware.vSphereDSC Resources
Copy the VMware.vSphereDSC Module to one of the system PowerShell module directories.For more information on installing PowerShell Modules, please visit Installing a PowerShell Module.
In PowerShell import the VMware.vSphereDSC Module:
Import-Module -Name 'VMware.vSphereDSC'
To check if the module was successfully installed:
Get-DscResource -Module 'VMware.vSphereDSC'
Applying VMware.vSphereDSC Resource Configuration
To configure PowerCLI you can use the PowerCLISettings DSC Resource and specify which settings you want to be configured. For more information on the available settings, please visit the wiki page of the PowerCLISettings DSC Resource.
The following example uses VMHostNtpSettings Resource and configures the NTP Server and the 'ntpd' Service Policy.
- You need to compile the Configuration File to MOF:
$ntpConfigPath = Join-Path (Join-Path (Join-Path (Get-Module VMware.vSphereDSC -ListAvailable).ModuleBase 'Configurations') 'ESXiConfigs')'VMHostNtpSettings_Config.ps1' . $ntpConfigPath -Name '<VMHost Name>' -Server 'Server Name>' -User '<User Name>' -Password '<Password for User>'
- To Test if the NTP Settings are in the desired state:
Test-DscConfiguration -ComputerName <The name of the machine on which you are applying your configuration> -Path .\VMHostNtpSettings_Config\
- To Apply the NTP Configuration:
Start-DscConfiguration -ComputerName <The name of the machine on which you are applying your configuration> -Path .\VMHostNtpSettings_Config\ -Wait -Force
- To get the latest applied configuration on your machine:
If you want to apply other configurations, you just need to compile the configuration file and pass the path of the created MOF file to the DSC cmdlets.
For more information about the DSC cmdlets please visit the PSDesiredStateConfiguration.
Documentation and Examples
For a full list of resources in VMware.vSphereDSC and examples on their use, check out the Desired State Configuration Resources for VMware wiki.
This is the branch to which contributions should be proposed by contributors as pull requests. The content of the module releases will be from the master branch.
The Desired State Configuration Resources for VMware project team welcomes contributions from the community. For more detailed information, refer to CONTRIBUTING.md.
The Desired State Configuration Resources for VMware is distributed under the BSD-2.
For more details, please refer to the BSD-2 License File.