Skip to content

Commit e5efa50

Browse files
authored
Merge pull request #255 from MicrosoftDocs/main
4/17/2024 PM Publish
2 parents 8c1b279 + 55271ee commit e5efa50

File tree

1 file changed

+39
-48
lines changed

1 file changed

+39
-48
lines changed

dsc/docs-conceptual/dsc-1.1/pull-server/secureServer.md

Lines changed: 39 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
ms.date: 03/22/2022
2+
ms.date: 04/17/2024
33
description: This document provide best practices to assist engineers that are deploying the DSC Pull Server.
44
keywords: dsc,powershell,configuration,setup
55
title: Pull server best practices
@@ -9,13 +9,13 @@ title: Pull server best practices
99
Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0
1010

1111
> [!IMPORTANT]
12-
> The Pull Server (Windows Feature *DSC-Service*) is a supported component of Windows Server however
12+
> The Pull Server (Windows Feature _DSC-Service_) is a supported component of Windows Server however
1313
> there are no plans to offer new features or capabilities. we would like you to know that a newer
1414
> version of DSC is now generally available, managed by a feature of Azure Policy named
15-
> [guest configuration](/azure/governance/machine-configuration/overview). The guest configuration
16-
> service combines features of DSC Extension, Azure Automation State Configuration, and the most
17-
> commonly requested features from customer feedback. Guest configuration also includes hybrid
18-
> machine support through [Arc-enabled servers](/azure/azure-arc/servers/overview).
15+
> [guest configuration][02]. The guest configuration service combines features of DSC Extension,
16+
> Azure Automation State Configuration, and the most commonly requested features from customer
17+
> feedback. Guest configuration also includes hybrid machine support through
18+
> [Arc-enabled servers][01].
1919
2020
Summary: This document is intended to include process and extensibility to assist engineers who are
2121
preparing for the solution. Details should provide best practices as identified by customers and
@@ -34,11 +34,11 @@ should take only minutes to deploy. Although this document will offer technical
3434
can be used in a deployment, the value of this document is as a reference for best practices and
3535
what to think about before deploying. Readers should have basic familiarity with DSC, and the terms
3636
used to describe the components that are included in a DSC deployment. For more information, see the
37-
[Windows PowerShell Desired State Configuration Overview](/powershell/dsc/overview)
38-
topic. As DSC is expected to evolve at cloud cadence, the underlying technology including pull
39-
server is also expected to evolve and to introduce new capabilities. This document includes a
40-
version table in the appendix that provides references to previous releases and references to future
41-
looking solutions to encourage forward-looking designs.
37+
[Windows PowerShell Desired State Configuration Overview][03] topic. As DSC is expected to evolve at
38+
cloud cadence, the underlying technology including pull server is also expected to evolve and to
39+
introduce new capabilities. This document includes a version table in the appendix that provides
40+
references to previous releases and references to future looking solutions to encourage
41+
forward-looking designs.
4242

4343
The two major sections of this document:
4444

@@ -57,9 +57,8 @@ Desired State Configuration (DSC) is a management platform that enables deployin
5757
configuration data by using an industry syntax named the Managed Object Format (MOF) to describe the
5858
Common Information Model (CIM). An open source project, Open Management Infrastructure (OMI), exists
5959
to further development of these standards across platforms including Linux and network hardware
60-
operating systems. For more information, see the
61-
[DMTF page linking to MOF specifications](https://www.dmtf.org/standards/cim), and
62-
[OMI Documents and Source](https://collaboration.opengroup.org/omi/documents.php).
60+
operating systems. For more information, see the [DMTF page linking to MOF specifications][11], and
61+
[OMI Documents and Source][06].
6362

6463
Windows PowerShell provides a set of language extensions for Desired State Configuration that you
6564
can use to create and manage declarative configurations.
@@ -76,9 +75,7 @@ functionality is useful in environments where there are a large number of target
7675
configuring a target node (also referred to as a client) to point to the pull server the latest
7776
configuration data and any required scripts are downloaded and applied. This can happen as a
7877
one-time deployment or as a re-occurring job which also makes the pull server an important asset for
79-
managing change at scale. For more information, see
80-
[Windows PowerShell Desired State Configuration Pull Servers](pullserver.md) and
81-
[Push and Pull Configuration Modes](pullserver.md).
78+
managing change at scale. For more information, see [Push and Pull Configuration Modes][13].
8279

8380
## Configuration planning
8481

@@ -99,33 +96,14 @@ In addition to installing the latest content from Windows Update, there are two
9996
best practice to deploy a DSC pull server: The latest version of Windows Management Framework, and a
10097
DSC module to automate pull server provisioning.
10198

102-
### WMF
103-
104-
Windows Server 2012 R2 includes a feature named the DSC Service. The DSC Service feature provides
105-
the pull server functionality, including the binaries that support the OData endpoint. WMF is
106-
included in Windows Server and is updated on an agile cadence between Windows Server releases.
107-
[New versions of WMF 5.0](https://www.microsoft.com/download/details.aspx?id=54616) can include
108-
updates to the DSC Service feature. For this reason, it is a best practice to download the latest
109-
release of WMF and to review the release notes to determine if the release includes an update to the
110-
DSC service feature. You should also review the section of the release notes that indicates whether
111-
the design status for an update or scenario is listed as stable or experimental. To allow for an
112-
agile release cycle, individual features can be declared stable, which indicates the feature is
113-
ready to be used in a production environment even while WMF is released in preview. Other features
114-
that have historically been updated by WMF releases (see the WMF Release Notes for further detail):
115-
116-
- Windows PowerShell Windows PowerShell Integrated Scripting
117-
- Environment (ISE) Windows PowerShell Web Services (Management OData
118-
- IIS Extension) Windows PowerShell Desired State Configuration (DSC)
119-
- Windows Remote Management (WinRM) Windows Management Instrumentation (WMI)
120-
12199
### DSC resource
122100

123101
A pull server deployment can be simplified by provisioning the service using a DSC configuration
124102
script. This document includes configuration scripts that can be used to deploy a production ready
125103
server node. To use the configuration scripts, a DSC module is required that is not included in
126104
Windows Server. The required module name is **xPSDesiredStateConfiguration**, which includes the DSC
127-
resource **xDscWebService**. The xPSDesiredStateConfiguration module can be downloaded
128-
[here](https://github.com/dsccommunity/xPSDesiredStateConfiguration).
105+
resource **xDscWebService**. The xPSDesiredStateConfiguration module can be downloaded from the
106+
[PowerShell Gallery][09].
129107

130108
Use the `Install-Module` cmdlet from the **PowerShellGet** module.
131109

@@ -197,7 +175,7 @@ Scenario best practices
197175
a hostname.
198176
- Single Node Deployment - Create a DNS CNAME record that points to the server hostname.
199177

200-
For more information, see [Configuring DNS Round Robin in Windows Server](/previous-versions/windows/it-pro/windows-server-2003/cc787484(v=ws.10)).
178+
For more information, see [Configuring DNS Round Robin in Windows Server][05].
201179

202180
Planning task
203181

@@ -341,7 +319,7 @@ another tool or software solution. There are two general approaches:
341319
The GUID is something that should be considered sensitive data because it could be leveraged by
342320
someone with malicious intent to gain intelligence about how servers are deployed and configured
343321
in your environment. For more information, see
344-
[Securely allocating Guids in PowerShell Desired State Configuration Pull Mode](https://devblogs.microsoft.com/powershell/securely-allocating-guids-in-powershell-desired-state-configuration-pull-mode/).
322+
[Securely allocating Guids in PowerShell Desired State Configuration Pull Mode][07].
345323

346324
Planning task
347325

@@ -389,7 +367,8 @@ locale.
389367
### Basic configuration for Windows Server 2012
390368

391369
```powershell
392-
# This is a very basic Configuration to deploy a pull server instance in a lab environment on Windows Server 2012.
370+
# This is a very basic Configuration to deploy a pull server instance in a lab
371+
# environment on Windows Server 2012.
393372
394373
Configuration PullServer {
395374
Import-DscResource -ModuleName xPSDesiredStateConfiguration
@@ -669,11 +648,9 @@ This example shows how to manually initiate a client connection (requires WMF5)
669648
Update-DscConfiguration -Wait -Verbose
670649
```
671650

672-
The [Add-DnsServerResourceRecordName](/powershell/module/dnsserver/add-dnsserverresourcerecordcname)
673-
cmdlet is used to add a type CNAME record to a DNS zone.
651+
The [Add-DnsServerResourceRecordName][04] cmdlet is used to add a type CNAME record to a DNS zone.
674652

675-
The PowerShell Function to
676-
[Create a Checksum and Publish DSC MOF to SMB Pull Server](https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Function-to-3bc4b7f0)
653+
The PowerShell Function to [Create a Checksum and Publish DSC MOF to SMB Pull Server][08]
677654
automatically generates the required checksum, and then copies both the MOF configuration and
678655
checksum files to the SMB pull server.
679656

@@ -686,6 +663,20 @@ OData web service. The type of file depends on the operating system, as describe
686663
- **Windows Server 2012 R2** - The file type will default to `.edb` unless a `.mdb` is specified in
687664
the configuration
688665

689-
In the [Advanced example script](https://github.com/mgreenegit/Whitepapers/blob/Dev/PullServerCPIG.md#installation-and-configuration-scripts)
690-
for installing a Pull Server, you will also find an example of how to automatically control the
691-
`web.config` file settings to prevent any chance of error caused by file type.
666+
In the [Advanced example script][10] for installing a Pull Server, you will also find an example of
667+
how to automatically control the `web.config` file settings to prevent any chance of error caused by
668+
file type.
669+
670+
<!-- link references -->
671+
[01]: /azure/azure-arc/servers/overview
672+
[02]: /azure/governance/machine-configuration/overview
673+
[03]: /powershell/dsc/overview
674+
[04]: /powershell/module/dnsserver/add-dnsserverresourcerecordcname
675+
[05]: /previous-versions/windows/it-pro/windows-server-2003/cc787484(v=ws.10)
676+
[06]: https://collaboration.opengroup.org/omi/documents.php
677+
[07]: https://devblogs.microsoft.com/powershell/securely-allocating-guids-in-powershell-desired-state-configuration-pull-mode/
678+
[08]: https://mikefrobbins.com/2015/03/05/automatically-create-a-checksum-and-publish-dsc-mof-configuration-files-to-an-smb-pull-server/
679+
[09]: https://www.powershellgallery.com/packages/xPSDesiredStateConfiguration/
680+
[10]: https://github.com/PowerShell/Whitepapers/blob/master/PullServerCPIG/PullServerCPIG.md#installation-and-configuration-scripts
681+
[11]: https://www.dmtf.org/standards/cim
682+
[13]: pullserver.md

0 commit comments

Comments
 (0)