7

Is there a way to build a PowerShell desired state configuration (DSC) configuration file from a current system? Opposed of building the entire file from scratch?

6

Not directly. You'd have to approach each resource you want to module independently.

For example, if you want to model the existing windows roles and features, you could script out something like

Get-WindowsFeature -ComputerName ny-web01 | 
? installed |
% {$t = ''} { $t += @"

WindowsFeature "Role-$($_.Name)"
{
    Name = '$($_.Name)'
    Ensure = 'Present'
"@ 
    if ($_.dependson)
    {
        $t += @"
    DependsOn = '[WindowsFeature]Role-$($_.Name)'
"@
    }

    $t += @'

}
'@
} {$t}

Each resource will be unique in how you want to identify those things you want to control.

  • Not pretty, but it does work. Though -ComputerName wasn't a valid option when I tried it. I guess it is still best to start from scratch. Thanks Steven! – Brettski Apr 15 '14 at 21:08
  • -computername isn't present on Win7/Server2008R2 but is available on newer oses. – Steven Murawski Sep 12 '14 at 16:24
1

If you have a web-server, you can use Desired State Generator to create configurations for your web sites, application pools and IIS components.

Not everything, but it could give you a head start.

1

There is now something called ReverseDSC which allows you to create DSC configuration files based on an existing system. It still doesn't work for all aspects of the system but supports many common scenarios.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.