The Start-DscConfiguration cmdlet applies configuration to nodes. When used with the
UseExisting parameter, the existing configuration on the target computer is applied. Specify
which computers that you want to apply configuration to by specifying computer names or by using
Common Information Model (CIM) sessions.
By default, this cmdlet creates a job and returns a Job object. For more information about
background jobs, type Get-Help about_Jobs. To use this cmdlet interactively, specify the Wait
parameter.
Specify the Verbose parameter to see details of what the cmdlet does when it applies
configuration settings.
This command applies the configuration settings from C:\DSC\Configurations\ to every computer
that has settings in that folder. The command returns Job objects for each target node deployed
to.
Example 2: Apply configuration settings and wait for configuration to complete
This command applies the configuration from C:\DSC\Configurations\ to the local computer. The
command returns Job objects for each target node deployed to, in this case, just the local
computer. This example specifies the Verbose parameter. Therefore, the command sends messages to
the console as it proceeds. The command includes the Wait parameter. Therefore, you cannot use
the console until the command finishes all configuration tasks.
Example 3: Apply configuration settings by using a CIM session
This example applies configuration settings to a specified computer. The example creates a CIM
session for a computer named Server01 for use with the cmdlet. Alternatively, create an array of CIM
sessions to apply the cmdlet to multiple specified computers.
The first command creates a CIM session by using the New-CimSession cmdlet, and then stores the
CimSession object in the $Session variable. The command prompts you for a password. For more
information, type Get-Help NewCimSession.
The second command applies the configuration settings from C:\DSC\Configurations to the computers
identified by the CimSession objects stored in the $Session variable. In this example, the
$Session variable contains a CIM session only for the computer named Server01. The command applies
the configuration. The command creates Job objects for each configured computer.
Parameters
-CimSession
Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session
object, such as the output of a New-CimSession or
Get-CimSession cmdlet. The default is the current
session on the local computer.
Specifies an array of computer names. This parameter restricts the computers that have configuration
documents in the Path parameter to those specified in the array.
Specifies a user name and password, as a PSCredential object, for the target computer.
To obtain a PSCredential object, use the Get-Credential cmdlet.
For more information, type Get-Help Get-Credential.
Stops the configuration operation currently running on the target computer and begins the new
Start-Configuration operation. If the RefreshMode property of the Local Configuration Manager is
set to Pull, specifying this parameter changes it to Push.
Specifies a file path of a folder that contains configuration settings files. This cmdlet publishes
and applies these configuration settings to computers that have settings files in the specified
path. Each target node must have a settings file of the following format: <NetBIOS Name>.mof.
Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If
this parameter is omitted or a value of 0 is entered, then Windows PowerShell calculates an
optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the
computer. The throttle limit applies only to the current cmdlet, not to the session or to the
computer.
Indicates that this cmdlet applies the existing configuration. The configuration can exist on the
target computer by enactment using Start-DscConfiguration or by publication using the
Publish-DscConfiguration cmdlet.
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable,
-InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable,
-ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see
about_CommonParameters.
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.