Desired State Configuration (DSC) is a new feature in PowerShell 4.0. With DSC, you can write simple configuration scripts and apply them to the local or a remote machine. Here is a sample script to get you started:
Configuration MyConfig { # Parameters are optional param ($MachineName) # A Configuration block can have one or more Node blocks Node $MachineName { Registry RegistryExample { Ensure = 'Present' # You can also set Ensure to "Absent" Key = 'HKEY_LOCAL_MACHINE\SOFTWARE\ExampleKey' ValueName ='TestValue' ValueData ='TestData' } } } MyConfig -MachineName $env:computername -OutputPath c:\dsc Start-DscConfiguration -Path c:\dsc -Wait
The configuration "MyConfig" uses the resource "Registry" to make sure that a given Registry key is present. There are many more resources you can use in your DSC script, like adding (or removing) a local user or files, unpacking an MSI package or ZIP file, or starting or stopping a service, to name just a few.
Running the configuration will only create a MOF file. To apply the MOF file, use the Start-DSCConfiguration cmdlet. Use -Wait to wait for the configuration to take place. Else, the configuration will be done in the background using a job.