以下部分假定您已经设置了拉取服务器。 如果您尚未设置拉取服务器,则可以使用以下指南:
每个目标节点都可以配置为下载配置、资源,甚至报告其状态。 本文将介绍如何上传资源以便可供下载,以及如何将客户端配置为自动下载资源。 当节点通过 拉取 或 推 送 (v5) 收到分配的配置时,它会自动从 LCM 中指定的位置下载配置所需的任何资源。
包资源模块
可供客户端下载的每个资源都必须存储在一个 .zip 文件中。 下面的示例将显示使用 xPSDesiredStateConfiguration 资源所需的步骤。
注释
如果有任何客户端使用 PowerShell 4.0,则需要展平资源文件夹结构并删除所有版本文件夹。 有关详细信息,请参阅 多个资源版本。
您可以使用您喜欢的任何实用程序、脚本或方法来压缩资源目录。 在 Windows 中,您可以 右键单击 该 xPSDesiredStateConfiguration 目录,然后选择 “发送到”,然后选择 “压缩文件夹”。
命名资源存档
资源存档需要使用以下格式命名:
{ModuleName}_{Version}.zip
在上面的示例中, xPSDesiredStateConfiguration.zip 应重命名 xPSDesiredStateConfiguration_8.4.4.0.zip。
创建校验和
压缩和重命名资源模块后,您需要创建一个 校验和。 客户端上的 LCM 使用 CheckSum 来确定资源是否已更改,是否需要再次下载。 可以使用 New-DSCCheckSum cmdlet 创建校验和,如以下示例所示。
New-DscChecksum -Path .\xPSDesiredStateConfiguration_8.4.4.0.zip
不会显示任何输出,但您现在应该会看到“xPSDesiredStateConfiguration_8.4.4.0.zip.checksum”。 您还可以使用该New-DSCCheckSum参数对文件目录运行-Path。 如果校验和已存在,则可以使用该 -Force 参数强制重新创建校验和。
资源存档的存储位置
在 DSC HTTP 拉取服务器上
设置 HTTP 拉取服务器时,如 设置 DSC HTTP 拉取服务器中所述,您可以为 ModulePath 和 ConfigurationPath 键指定目录。 ConfigurationPath 键指示应存储任何“.mof”文件的位置。 ModulePath 指示应存储任何 DSC 资源模块的位置。
xDscWebService PSDSCPullServer
{
...
ModulePath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Modules"
ConfigurationPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration"
...
}
在 SMB 共享上
如果指定了 ResourceRepositoryShare,则在设置拉取客户端时,请将存档和校验和存储在 ResourceRepositoryShare 块的 SourcePath 目录中。
ConfigurationRepositoryShare SMBPullServer
{
SourcePath = '\\SMBPullServer\Configurations'
}
ResourceRepositoryShare SMBResourceServer
{
SourcePath = '\\SMBPullServer\Resources'
}
如果仅指定了 ConfigurationRepositoryShare,则在设置拉取客户端时,请将存档和校验和存储在 ConfigurationRepositoryShare 块的 SourcePath 目录中。
ConfigurationRepositoryShare SMBPullServer
{
SourcePath = '\\SMBPullServer\Pull'
}
更新资源
您可以通过更改存档名称中的版本号或创建新的校验和来强制节点更新其资源。 当 LCM 刷新时,拉取客户端将检查所需资源的较新版本以及更新的校验和。