PowerShell Desired State Configuration (DSC) components

PowerShell DSC is a management platform for Windows PowerShell Desired State Configuration (DSC) that is built on the foundation of PowerShell, Microsoft’s task automation and configuration management framework.

DSC provides an easy-to-use set of programming constructs to configure systems in order to achieve desired states based on a declarative model which defines what should be done with DSC resources. DSC components are aimed at helping you design, build, test and deploy DSC configurations across your organization.

DSC is available as part of the Windows Management Framework (WMF) and can be used on all editions of Windows clients, servers, and Nano Server.

DSC provides a simple way to manage configuration drift by comparing the current system state against the desired state defined in your DSC configuration.

You can use DSC to remediate any discrepancies between the two states. DSC also enables you to audit your systems for compliance with corporate standards or other requirements.

Push and Pull mode

PowerShell DSC can be used in either Push or Pull mode. In Push mode, the DSC configuration is sent from the DSC server to the DSC client. In Pull mode, the DSC client requests the configuration from the DSC server.

Which mode should you use? The mode that you should use depends on your environment and your preferences. If you want more control over the DSC configuration, you should use Pull mode. If you want to make it easier for your DSC clients to get updates, you should use Push mode.

Push mode

In PowerShell DSC, there are two modes: Pull and Push. In Pull mode, the client initiates a connection to the DSC server to request configuration. The DSC server then pulls the desired configuration from the DSC repository and sends it back to the client. In Push mode, the DSC server initiates a connection to the DSC client and sends the desired configuration to the client.

There are a few benefits to using DSC Push mode:

– You can use DSC to configure servers that are not online or accessible from the network.

– You can use DSC to configure clients that are not online or accessible from the network.

– You can use DSC to configure servers and clients that are not part of the same domain.

– You can use DSC to configure servers and clients that are in different domains.

– You can use DSC to configure servers and clients that are in the same domain but are not joined to a domain.

To configure a server or client in Push mode, you must first create a DSC configuration file. The DSC configuration file contains the desired configuration for the server or client. You can then use the DSC Configuration Manager to generate a PowerShell script that will configure the server or client in Push mode.

Pull mode

PowerShell DSC pulls mode is a process where the DSC configuration is transferred from a DSC server to a DSC client. The DSC client then uses the DSC configuration to apply the desired state on the target node. This process usually occurs when the target node is in a disconnected state. DSC pull mode is used when DSC push mode cannot be implemented. However, DSC pull mode requires a DSC server to host the DSC configuration files and modules that are required by the target node. It also requires additional network bandwidth because of this requirement.

The following table lists PowerShell Desired State Configuration (DSC) components.

– DSC server

– DSC client

– DSC configuration files

– DSC modules

DSC pull mode is a process where the DSC configuration is transferred from a DSC server to a DSC client. The DSC client then uses the DSC configuration to apply the desired state on the target node. This process usually occurs when the target node is in a disconnected state. DSC pull mode is used when DSC push mode cannot be implemented.

However, DSC pull mode requires a DSC server to host the DSC configuration files and modules that are required by the target node. It also requires additional network bandwidth because of this requirement.


by