Start-DscConfiguration
Start-DscConfiguration
Applies configuration to nodes.
Syntax
Parameter Set: ComputerNameSet
Start-DscConfiguration [[-ComputerName] <String[]> ] [-Path] <String> [-Credential <PSCredential> ] [-Force] [-JobName <String> ] [-ThrottleLimit <Int32> ] [-Wait] [-Confirm] [-WhatIf] [ <CommonParameters>]
Parameter Set: CimSessionSet
Start-DscConfiguration [-Path] <String> -CimSession <CimSession[]> [-Force] [-JobName <String> ] [-ThrottleLimit <Int32> ] [-Wait] [-Confirm] [-WhatIf] [ <CommonParameters>]
Detailed Description
The Start-DscConfiguration cmdlet applies configuration to nodes. Specify which computers 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.
Parameters
-CimSession<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.
Aliases |
none |
Required? |
true |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
True (ByValue) |
Accept Wildcard Characters? |
false |
-ComputerName<String[]>
Specifies an array of computer names. The cmdlet publishes and applies the configuration in the location specified by the Path parameter to these computers.
Aliases |
CN,ServerName |
Required? |
false |
Position? |
1 |
Default Value |
none |
Accept Pipeline Input? |
True (ByValue) |
Accept Wildcard Characters? |
false |
-Credential<PSCredential>
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
.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Force
Indicates that the cmdlet pushes configuration to computers. Some computers pull configuration data. If you do not specify this parameter and if the computer pulls its configuration, the configuration fails.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-JobName<String>
Specifies a friendly name for a job. If you specify this parameter, the cmdlet runs as a job, and it returns a Job object.
By default, Windows PowerShell® assigns the name JobN where N is an integer.
If you specify the Wait parameter, do not specify this parameter.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
Job<n> |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Path<String>
Specifies a file path of a folder that contains configuration settings files. The cmdlet publishes and applies this configuration to computers specified by the ComputerName parameter.
Aliases |
none |
Required? |
true |
Position? |
2 |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-ThrottleLimit<Int32>
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.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
32 |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Wait
Indicates that the cmdlet blocks the console until it completes all configuration tasks.
If you specify this parameter, do not specify the JobName parameter.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Confirm
Prompts you for confirmation before running the cmdlet.
Required? |
false |
Position? |
named |
Default Value |
false |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Required? |
false |
Position? |
named |
Default Value |
false |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
<CommonParameters>
This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see about_CommonParameters.
Inputs
The input type is the type of the objects that you can pipe to the cmdlet.
Outputs
The output type is the type of the objects that the cmdlet emits.
Examples
Example 1: Apply configuration settings
This command applies the configuration settings from C:\DSC\Configurations\ to the every computer that has settings in that folder. The command returns Job objects for each target node deployed to.
PS C:\> Start-DscConfiguration -Path "C:\DSC\Configurations\"
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, so the command sends messages to the console as it proceeds. The command includes the Wait parameter, so you cannot use the console until the command completes all configuration tasks.
PS C:\> Start-DscConfiguration -Path "C:\DSC\Configurations\" -Wait -Verbose
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 settins 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.
PS C:\> $Session = New-CimSession –ComputerName "Server01" –Credential ACCOUNTS\PattiFuller
PS C:\> Start-DscConfiguration -Path "C:\DSC\Configurations\" -CimSession $Session