diff --git a/dsc/pullClient.md b/dsc/pullClient.md index 4f323d7be9f7..a2f66073ccf0 100644 --- a/dsc/pullClient.md +++ b/dsc/pullClient.md @@ -4,13 +4,17 @@ ms.topic: conceptual keywords: dsc,powershell,configuration,setup title: Setting up a DSC pull client --- - # Setting up a DSC pull client > Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 -Each target node has to be told to use pull mode and given the URL or file location where it can contact the pull server to get configurations and resources, and where it should send report data. +> [!IMPORTANT] +> The Pull Server (Windows Feature *DSC-Service*) will be deprecated in a future version of Windows Server. It is recommended to +> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) +> (includes features beyond Pull Server on Windows Server) or one of the community solutions +> listed [here](pullserver.md#community-solutions-for-pull-service). +Each target node has to be told to use pull mode and given the URL or file location where it can contact the pull server to get configurations and resources, and where it should send report data. The following topics explain how to set up pull clients: diff --git a/dsc/pullClientConfigID.md b/dsc/pullClientConfigID.md index c6633f26bc0b..a0e5144719b2 100644 --- a/dsc/pullClientConfigID.md +++ b/dsc/pullClientConfigID.md @@ -4,11 +4,16 @@ ms.topic: conceptual keywords: dsc,powershell,configuration,setup title: Setting up a pull client using configuration ID --- - # Setting up a pull client using configuration ID > Applies To: Windows PowerShell 5.0 +> [!IMPORTANT] +> The Pull Server (Windows Feature *DSC-Service*) will be deprecated in a future version of Windows Server. It is recommended to +> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) +> (includes features beyond Pull Server on Windows Server) or one of the community solutions +> listed [here](pullserver.md#community-solutions-for-pull-service). + Each target node has to be told to use pull mode and given the URL where it can contact the pull server to get configurations. To do this, you have to configure the Local Configuration Manager (LCM) with the necessary information. To configure the LCM, you create a special type of configuration, decorated with the **DSCLocalConfigurationManager** attribute. For more information about configuring the LCM, see [Configuring the Local Configuration Manager](metaConfig.md). > **Note**: This topic applies to PowerShell 5.0. For information on setting up a pull client in PowerShell 4.0, see [Setting up a pull client using configuration ID in PowerShell 4.0](pullClientConfigID4.md) diff --git a/dsc/pullClientConfigNames.md b/dsc/pullClientConfigNames.md index 68dc7dc7ec96..37c7927f09fc 100644 --- a/dsc/pullClientConfigNames.md +++ b/dsc/pullClientConfigNames.md @@ -4,11 +4,16 @@ ms.topic: conceptual keywords: dsc,powershell,configuration,setup title: Setting up a pull client using configuration names --- - # Setting up a pull client using configuration names > Applies To: Windows PowerShell 5.0 +> [!IMPORTANT] +> The Pull Server (Windows Feature *DSC-Service*) will be deprecated in a future version of Windows Server. It is recommended to +> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) +> (includes features beyond Pull Server on Windows Server) or one of the community solutions +> listed [here](pullserver.md#community-solutions-for-pull-service). + Each target node has to be told to use pull mode and given the URL where it can contact the pull server to get configurations. To do this, you have to configure the Local Configuration Manager (LCM) with the necessary information. To configure the LCM, you create a special type of configuration, decorated with the **DSCLocalConfigurationManager** attribute. diff --git a/dsc/pullServer.md b/dsc/pullServer.md index 84dc8a8bc86e..5df2cfd1f2bd 100644 --- a/dsc/pullServer.md +++ b/dsc/pullServer.md @@ -8,6 +8,12 @@ title: DSC Pull Service > Applies To: Windows PowerShell 5.0 +> [!IMPORTANT] +> The Pull Server (Windows Feature *DSC-Service*) will be deprecated in a future version of Windows Server. It is recommended to +> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) +> (includes features beyond Pull Server on Windows Server) or one of the community solutions +> listed [here](pullserver.md#community-solutions-for-pull-service). + Local Configuration Manager can be centrally managed by a Pull Service solution. When using this approach, the node that is being managed is registered with a service and assigned a configuration in LCM settings. @@ -16,17 +22,17 @@ for the configuration are downloaded to the machine and used by LCM to manage the configuration. Information about the state of the machine being managed is uploaded to the service for reporting. -This concept is referred to as "pull service". +This concept is referred to as "pull service." The current options for pull service include: - Azure Automation Desired State Configuration service - A pull service running on Windows Server -- Community maintained open source solutions +- Community maintained open-source solutions - An SMB share **The recommended solution**, and the option with the most features available, -is [Azure Automation DSC](https://docs.microsoft.com/en-us/azure/automation/automation-dsc-getting-started). +is [Azure Automation DSC](/azure/automation/automation-dsc-getting-started). The Azure service can manage nodes on-premises in private datacenters, or in public clouds such as Azure and AWS. @@ -37,20 +43,20 @@ consider limiting outbound traffic to only the published Azure IP range Features of the online service that are not currently available in the pull service on Windows Server include: - All data is encrypted in transit and at rest - Client certificates are created and managed automatically -- Secrets store for centrally managing [passwords/credentials](https://docs.microsoft.com/en-us/azure/automation/automation-credentials), or [variables](https://docs.microsoft.com/en-us/azure/automation/automation-variables) such as server names or connection strings +- Secrets store for centrally managing [passwords/credentials](/azure/automation/automation-credentials), or [variables](/azure/automation/automation-variables) such as server names or connection strings - Centrally manage node [LCM configuration](metaConfig.md#basic-settings) - Centrally assign configurations to client nodes - Release configuration changes to "canary groups" for testing before reaching production - Graphical reporting - Status detail at the DSC resource level of granularity - Verbose error messages from client machines for troubleshooting -- [Integration with Azure Log Analytics](https://docs.microsoft.com/en-us/azure/automation/automation-dsc-diagnostics) for alerting, automated tasks, Android/iOS app for reporting and alerting +- [Integration with Azure Log Analytics](/azure/automation/automation-dsc-diagnostics) for alerting, automated tasks, Android/iOS app for reporting and alerting ## DSC pull service in Windows Server It is possible to configuring a pull service to run on Windows Server. -Please be advised that the pull service solution included in Windows Server +Be advised that the pull service solution included in Windows Server includes only capabilities of storing configurations/modules for download and capturing report data in to database. It does not include many of the capabilities offered by the service in Azure @@ -73,123 +79,147 @@ The best way to configure Windows Server to host pull service is to use a DSC configuration. An example script is provided below. -### Using the xDSCWebService resource +### Supported database systems + +|WMF 4.0 |WMF 5.0 |WMF 5.1 |WMF 5.1 (Windows Server Insider Preview 17090)| +|---------|---------|---------|---------| +|MDB |ESENT (Default), MDB |ESENT (Default), MDB|ESENT (Default), SQL Server, MDB + +Starting in release 17090 of [Windows Server Insider Preview](https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewserver), SQL Server +is a supported option for the Pull Service (Windows Feature *DSC-Service*). This provides a new +option for scaling large DSC environments that have not migrated to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started). + +> **Note**: SQL Server support will not be added to previous versions of WMF 5.1 (or earlier) +> and will only be available on Windows Server versions greater than or equal to 17090. -The easiest way to set up a web pull server is to use the xWebService resource, -included in the xPSDesiredStateConfiguration module. +To configure the pull server to use SQL Server, set **SqlProvider** to `$true` and **SqlConnectionString** +to a valid SQL Server Connection String. For more information, see [SqlClient Connection Strings](/dotnet/framework/data/adonet/connection-string-syntax#sqlclient-connection-strings). +For an example of SQL Server configuration with **xDscWebService**, first read [Using the xDscWebService resource](#using-the-xdscwebservice-resource) and then review [Sample_xDscWebServiceRegistration_UseSQLProvider.ps1 on GitHub](https://github.com/PowerShell/xPSDesiredStateConfiguration/blob/master/Examples/Sample_xDscWebServiceRegistration_UseSQLProvider.ps1). + +### Using the xDscWebService resource + +The easiest way to set up a web pull server is to use the **xDscWebService** resource, +included in the **xPSDesiredStateConfiguration** module. The following steps explain how to use the resource in a configuration that sets up the web service. -1. Call the [Install-Module](https://technet.microsoft.com/en-us/library/dn807162.aspx) cmdlet to install the **xPSDesiredStateConfiguration** module. **Note**: **Install-Module** is included in the **PowerShellGet** module, which is included in PowerShell 5.0. You can download the **PowerShellGet** module for PowerShell 3.0 and 4.0 at [PackageManagement PowerShell Modules Preview](https://www.microsoft.com/en-us/download/details.aspx?id=49186). -1. Get an SSL certificate for the DSC Pull server from a trusted Certificate Authority, either within your organization or a public authority. The certificate received from the authority is usually in the PFX format. Install the certificate on the node that will become the DSC Pull server in the default location which should be CERT:\LocalMachine\My. Make a note of the certificate thumbprint. -1. Select a GUID to be used as the Registration Key. To generate one using PowerShell enter the following at the PS prompt and press enter: '``` [guid]::newGuid()```' or '```New-Guid```'. This key will be used by client nodes as a shared key to authenticate during registration. For more information see the Registration Key section below. -1. In the PowerShell ISE, start (F5) the following configuration script (included in the Example folder of the **xPSDesiredStateConfiguration** module as Sample_xDscWebService.ps1). This script sets up the pull server. +1. Call the [Install-Module](/powershell/module/PowershellGet/Install-Module) cmdlet to install the **xPSDesiredStateConfiguration** module. **Note**: **Install-Module** is included in the **PowerShellGet** module, which is included in PowerShell 5.0. You can download the **PowerShellGet** module for PowerShell 3.0 and 4.0 at [PackageManagement PowerShell Modules Preview](https://www.microsoft.com/en-us/download/details.aspx?id=49186). +1. Get an SSL certificate for the DSC Pull server from a trusted Certificate Authority, either within your organization or a public authority. The certificate received from the authority is usually in the PFX format. Install the certificate on the node that will become the DSC Pull server in the default location, which should be CERT:\LocalMachine\My. Make a note of the certificate thumbprint. +1. Select a GUID to be used as the Registration Key. To generate one using PowerShell enter the following at the PS prompt and press enter: '``` [guid]::newGuid()```' or '```New-Guid```'. This key will be used by client nodes as a shared key to authenticate during registration. For more information, see the Registration Key section below. +1. In the PowerShell ISE, start (F5) the following configuration script (included in the Examples folder of the **xPSDesiredStateConfiguration** module as Sample_xDscWebServiceRegistration.ps1). This script sets up the pull server. ```powershell - configuration Sample_xDscPullServer +configuration Sample_xDscWebServiceRegistration +{ + param + ( + [string[]]$NodeName = 'localhost', + + [ValidateNotNullOrEmpty()] + [string] $certificateThumbPrint, + + [Parameter(HelpMessage='This should be a string with enough entropy (randomness) to protect the registration of clients to the pull server. We will use new GUID by default.')] + [ValidateNotNullOrEmpty()] + [string] $RegistrationKey # A guid that clients use to initiate conversation with pull server + ) + + Import-DSCResource -ModuleName xPSDesiredStateConfiguration + + Node $NodeName { - param - ( - [string[]]$NodeName = 'localhost', - - [ValidateNotNullOrEmpty()] - [string] $certificateThumbPrint, - - [Parameter(Mandatory)] - [ValidateNotNullOrEmpty()] - [string] $RegistrationKey - ) - - Import-DSCResource -ModuleName xPSDesiredStateConfiguration - Import-DSCResource –ModuleName PSDesiredStateConfiguration - - Node $NodeName - { - WindowsFeature DSCServiceFeature - { - Ensure = 'Present' - Name = 'DSC-Service' - } - - xDscWebService PSDSCPullServer - { - Ensure = 'Present' - EndpointName = 'PSDSCPullServer' - Port = 8080 - PhysicalPath = "$env:SystemDrive\inetpub\PSDSCPullServer" - CertificateThumbPrint = $certificateThumbPrint - ModulePath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Modules" - ConfigurationPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration" - State = 'Started' - DependsOn = '[WindowsFeature]DSCServiceFeature' - UseSecurityBestPractices = $false - } - - File RegistrationKeyFile - { - Ensure = 'Present' - Type = 'File' - DestinationPath = "$env:ProgramFiles\WindowsPowerShell\DscService\RegistrationKeys.txt" - Contents = $RegistrationKey - } + WindowsFeature DSCServiceFeature + { + Ensure = "Present" + Name = "DSC-Service" } - } + xDscWebService PSDSCPullServer + { + Ensure = "Present" + EndpointName = "PSDSCPullServer" + Port = 8080 + PhysicalPath = "$env:SystemDrive\inetpub\PSDSCPullServer" + CertificateThumbPrint = $certificateThumbPrint + ModulePath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Modules" + ConfigurationPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration" + State = "Started" + DependsOn = "[WindowsFeature]DSCServiceFeature" + RegistrationKeyPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService" + AcceptSelfSignedCertificates = $true + Enable32BitAppOnWin64 = $false + } + + File RegistrationKeyFile + { + Ensure = 'Present' + Type = 'File' + DestinationPath = "$env:ProgramFiles\WindowsPowerShell\DscService\RegistrationKeys.txt" + Contents = $RegistrationKey + } + } +} ``` 1. Run the configuration, passing the thumbprint of the SSL certificate as the **certificateThumbPrint** parameter and a GUID registration key as the **RegistrationKey** parameter: ```powershell - # To find the Thumbprint for an installed SSL certificate for use with the pull server list all certificates in your local store - # and then copy the thumbprint for the appropriate certificate by reviewing the certificate subjects - dir Cert:\LocalMachine\my +# To find the Thumbprint for an installed SSL certificate for use with the pull server list all certificates in your local store +# and then copy the thumbprint for the appropriate certificate by reviewing the certificate subjects +dir Cert:\LocalMachine\my - # Then include this thumbprint when running the configuration - Sample_xDSCPullServer -certificateThumbprint 'A7000024B753FA6FFF88E966FD6E19301FAE9CCC' -RegistrationKey '140a952b-b9d6-406b-b416-e0f759c9c0e4' -OutputPath c:\Configs\PullServer - - # Run the compiled configuration to make the target node a DSC Pull Server - Start-DscConfiguration -Path c:\Configs\PullServer -Wait -Verbose +# Then include this thumbprint when running the configuration +Sample_xDSCPullServer -certificateThumbprint 'A7000024B753FA6FFF88E966FD6E19301FAE9CCC' -RegistrationKey '140a952b-b9d6-406b-b416-e0f759c9c0e4' -OutputPath c:\Configs\PullServer +# Run the compiled configuration to make the target node a DSC Pull Server +Start-DscConfiguration -Path c:\Configs\PullServer -Wait -Verbose ``` #### Registration Key -To allow client nodes to register with the server so that they can use configuration names instead of a configuration ID, a registration key which was created by the above configuration is saved in a file named `RegistrationKeys.txt` in `C:\Program Files\WindowsPowerShell\DscService`. The registration key functions as a shared secret used during the initial registration by the client with the pull server. The client will generate a self-signed certificate which is used to uniquely authenticate to the pull server once registration is successfully completed. The thumbprint of this certificate is stored locally and associated with the URL of the pull server. +To allow client nodes to register with the server so that they can use configuration names instead of a configuration ID, a registration key that was created by the above configuration is saved in a file named `RegistrationKeys.txt` in `C:\Program Files\WindowsPowerShell\DscService`. The registration key functions as a shared secret used during the initial registration by the client with the pull server. The client will generate a self-signed certificate that is used to uniquely authenticate to the pull server once registration is successfully completed. The thumbprint of this certificate is stored locally and associated with the URL of the pull server. > **Note**: Registration keys are not supported in PowerShell 4.0. -In order to configure a node to authenticate with the pull server the registration key needs to be in the metaconfiguration for any target node that will be registering with this pull server. Note that the **RegistrationKey** in the metaconfiguration below is removed after the target machine has successfully registered, and that the value '140a952b-b9d6-406b-b416-e0f759c9c0e4' must match the value stored in the RegistrationKeys.txt file on the pull server. Always treat the registration key value securely, because knowing it allows any target machine to register with the pull server. +In order to configure a node to authenticate with the pull server, the registration key needs to be in the metaconfiguration for any target node that will be registering with this pull server. Note that the **RegistrationKey** in the metaconfiguration below is removed after the target machine has successfully registered, and that the value '140a952b-b9d6-406b-b416-e0f759c9c0e4' must match the value stored in the RegistrationKeys.txt file on the pull server. Always treat the registration key value securely, because knowing it allows any target machine to register with the pull server. ```powershell [DSCLocalConfigurationManager()] -configuration PullClientConfigID +configuration Sample_MetaConfigurationToRegisterWithLessSecurePullServer { - Node localhost + param + ( + [ValidateNotNullOrEmpty()] + [string] $NodeName = 'localhost', + + [ValidateNotNullOrEmpty()] + [string] $RegistrationKey, #same as the one used to setup pull server in previous configuration + + [ValidateNotNullOrEmpty()] + [string] $ServerName = 'localhost' #node name of the pull server, same as $NodeName used in previous configuration + ) + + Node $NodeName { Settings { - RefreshMode = 'Pull' - RefreshFrequencyMins = 30 - RebootNodeIfNeeded = $true + RefreshMode = 'Pull' } ConfigurationRepositoryWeb CONTOSO-PullSrv { - ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' - RegistrationKey = '140a952b-b9d6-406b-b416-e0f759c9c0e4' + ServerURL = "https://$ServerName`:8080/PSDSCPullServer.svc" # notice it is https + RegistrationKey = $RegistrationKey ConfigurationNames = @('ClientConfig') } ReportServerWeb CONTOSO-PullSrv { - ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' - RegistrationKey = '140a952b-b9d6-406b-b416-e0f759c9c0e4' + ServerURL = "https://$ServerName`:8080/PSDSCPullServer.svc" # notice it is https + RegistrationKey = $RegistrationKey } } } -PullClientConfigID -OutputPath c:\Configs\TargetNodes - - +Sample_MetaConfigurationToRegisterWithLessSecurePullServer -RegistrationKey $RegistrationKey -OutputPath c:\Configs\TargetNodes ``` > **Note**: The **ReportServerWeb** section allows reporting data to be sent to the pull server. @@ -200,7 +230,7 @@ of the pull server protocol so an initial registration is required. Conversely, the presence of a **ConfigurationID** means that the V1 version of the pull server protocol is used and there is no registration processing. ->**Note**: In a PUSH scenario, a bug exists in the current relase that makes it necessary to define a ConfigurationID property in the metaconfiguration file for nodes that have never registered with a pull server. This will force the V1 Pull Server protocol and avoid registration failure messages. +>**Note**: In a PUSH scenario, a bug exists in the current release that makes it necessary to define a ConfigurationID property in the metaconfiguration file for nodes that have never registered with a pull server. This will force the V1 Pull Server protocol and avoid registration failure messages. ## Placing configurations and resources @@ -214,32 +244,32 @@ to correctly process them. ### DSC resource module package format Each resource module needs to be zipped and named -according the following pattern `{Module Name}_{Module Version}.zip`. +according to the following pattern `{Module Name}_{Module Version}.zip`. For example, a module named xWebAdminstration with a module version of 3.1.2.0 would be named 'xWebAdministration_3.2.1.0.zip'. Each version of a module must be contained in a single zip file. -Since there is only a single version of a resource in each zip file +Since there is only a single version of a resource in each zip file, the module format added in WMF 5.0 with support for multiple module versions in a single directory is not supported. This means that before packaging up DSC resource modules for use with pull server you will need to make a small change to the directory structure. The default format of modules containing DSC resource in WMF 5.0 is '{Module Folder}\{Module Version}\DscResources\{DSC Resource Folder}\'. -Before packaging up for the pull server simply +Before packaging up for the pull server, remove the **{Module version}** folder so the path becomes '{Module Folder}\DscResources\{DSC Resource Folder}\'. With this change, zip the folder as described above and place these zip files in the **ModulePath** folder. -Use `new-dscchecksum {module zip file}` to create a checksum file -for the newly-added module. +Use `New-DscChecksum {module zip file}` to create a checksum file +for the newly added module. ### Configuration MOF format A configuration MOF file needs to be paired with a checksum file so that an LCM on a target node can validate the configuration. To create a checksum, call the -[New-DSCCheckSum](https://technet.microsoft.com/en-us/library/dn521622.aspx) cmdlet. +[New-DscChecksum](/powershell/module/PSDesiredStateConfiguration/New-DscChecksum) cmdlet. The cmdlet takes a **Path** parameter that specifies the folder where the configuration MOF is located. The cmdlet creates a checksum file named `ConfigurationMOFName.mof.checksum`, @@ -257,24 +287,24 @@ In order to make setting up, validating and managing the pull server easier, the following tools are included as examples in the latest version of the xPSDesiredStateConfiguration module: -1. A module that will help with packaging DSC resource modules and configuration files for use on the pull server. [PublishModulesAndMofsToPullServer.psm1](https://github.com/PowerShell/xPSDesiredStateConfiguration/blob/dev/DSCPullServerSetup/PublishModulesAndMofsToPullServer.psm1). Examples below: +1. A module that will help with packaging DSC resource modules and configuration files for use on the pull server. [PublishModulesAndMofsToPullServer.psm1](https://github.com/PowerShell/xPSDesiredStateConfiguration/blob/master/DSCPullServerSetup/PublishModulesAndMofsToPullServer.psm1). Examples below: ```powershell # Example 1 - Package all versions of given modules installed locally and MOF files are in c:\LocalDepot - $moduleList = @("xWebAdministration", "xPhp") + $moduleList = @('xWebAdministration', 'xPhp') Publish-DSCModuleAndMof -Source C:\LocalDepot -ModuleNameList $moduleList # Example 2 - Package modules and mof documents from c:\LocalDepot Publish-DSCModuleAndMof -Source C:\LocalDepot -Force ``` -1. A script that validates the pull server is configured correctly. [PullServerSetupTests.ps1](https://github.com/PowerShell/xPSDesiredStateConfiguration/blob/dev/DSCPullServerSetup/PullServerDeploymentVerificationTest/PullServerSetupTests.ps1). +1. A script that validates the pull server is configured correctly. [PullServerSetupTests.ps1](https://github.com/PowerShell/xPSDesiredStateConfiguration/blob/master/DSCPullServerSetup/PullServerDeploymentVerificationTest/PullServerSetupTests.ps1). ## Community Solutions for Pull Service The DSC community has authored multiple solutions to implement the pull service protocol. -For on-premises environments these offer pull service capabilities +For on-premises environments, these offer pull service capabilities and an opportunity to contribute back to the community with incremental enhancements. diff --git a/dsc/pullServerSMB.md b/dsc/pullServerSMB.md index 0fec8e54a2fe..8213f3e219d0 100644 --- a/dsc/pullServerSMB.md +++ b/dsc/pullServerSMB.md @@ -4,11 +4,16 @@ ms.topic: conceptual keywords: dsc,powershell,configuration,setup title: Setting up a DSC SMB pull server --- - # Setting up a DSC SMB pull server >Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 +> [!IMPORTANT] +> The Pull Server (Windows Feature *DSC-Service*) will be deprecated in a future version of Windows Server. It is recommended to +> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) +> (includes features beyond Pull Server on Windows Server) or one of the community solutions +> listed [here](pullserver.md#community-solutions-for-pull-service). + A DSC [SMB](https://technet.microsoft.com/library/hh831795.aspx) pull server is a computer hosting SMB file shares that make DSC configuration files and DSC resources available to target nodes when those nodes ask for them. diff --git a/dsc/reportServer.md b/dsc/reportServer.md index d67a40376e69..feb1d67404bc 100644 --- a/dsc/reportServer.md +++ b/dsc/reportServer.md @@ -4,11 +4,16 @@ ms.topic: conceptual keywords: dsc,powershell,configuration,setup title: Using a DSC report server --- - # Using a DSC report server > Applies To: Windows PowerShell 5.0 +> [!IMPORTANT] +> The Pull Server (Windows Feature *DSC-Service*) will be deprecated in a future version of Windows Server. It is recommended to +> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) +> (includes features beyond Pull Server on Windows Server) or one of the community solutions +> listed [here](pullserver.md#community-solutions-for-pull-service). + >**Note:** The report server described in this topic is not available in PowerShell 4.0. The Local Configuration Manager (LCM) of a node can be configured to send reports about its configuration status to a pull server, which can then be queried to retrieve that data. Each time the node checks and applies diff --git a/dsc/secureServer.md b/dsc/secureServer.md index 9f9f3a0db7be..b298d2edaa2a 100644 --- a/dsc/secureServer.md +++ b/dsc/secureServer.md @@ -4,11 +4,16 @@ ms.topic: conceptual keywords: dsc,powershell,configuration,setup title: Pull server best practices --- - # Pull server best practices >Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 +> [!IMPORTANT] +> The Pull Server (Windows Feature *DSC-Service*) will be deprecated in a future version of Windows Server. It is recommended to +> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) +> (includes features beyond Pull Server on Windows Server) or one of the community solutions +> listed [here](pullserver.md#community-solutions-for-pull-service). + Summary: This document is intended to include process and extensibility to assist engineers who are preparing for the solution. Details should provide best practices as identified by customers and then validated by the product team to ensure recommendations are future facing and considered stable.