PowerShell command prompt

Create PowerShell DSC to Work for Any Machine

Q: I'm using PowerShell Desired State Configuration and want to create a configuration that will work for any computer; how can I do this?

A: You typicallly specify configuration for specific nodes in a PowerShell configuration; for example:

Node websrv1
{ ... }

There are several ways to make a configuration work for any machine. One method is to just use localhost, which would then work for any machine; for example:

Node localhost
{ ... }

You can also create a hashtable of entries, with each entry a specific node that can then be used and passed in a configuration. This method is discussed in the Windows PowerShell Blog post "Separating 'What' from 'Where' in PowerShell DSC." One of these entries can be * for all hosts.

Another option is to pass the machine name as a parameter to the configuration and then specify a unique name each time you want to compile a new configuration; for example:

Configuration SavillTechWebsite 
{
param 
( 
# Target nodes to apply the configuration 
[string[]]$NodeName = 'localhost' 
) 
# Import the module that defines custom resources 
Import-DscResource -Module xWebAdministration 
Node $NodeName 
{ ... }
}

SavillTechWebsite -Machinename websrv1
Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish