【问题标题】:How do you automatically distribute Desired State Configuration custom resources as part of a deployment?作为部署的一部分,您如何自动分发 Desired State Configuration 自定义资源?
【发布时间】:2014-05-22 16:53:49
【问题描述】:

我正在利用 Microsoft 的 DSC 资源工具包(特别是 XWebAdministration,至少对于初学者而言)。我对 DSC 比较熟悉,所以不用担心脚本的实际功能……它会做它应该做的事情,或者至少我很确定它会做。

问题是当我从编排框中执行脚本时,我的目标服务器返回此错误:

The PowerShell provider xWebAdministration does not exist at the PowerShell module 
path nor is it registered as a WMI provider.
    + CategoryInfo          : InvalidOperation: (root/Microsoft/...gurationManager 
   :String) [], CimException
    + FullyQualifiedErrorId : ModuleNameNotFound
    + PSComputerName        : [redacted]

它发生的原因很明显:我没有在那些机器上安装xWebAdministration 模块。问题是:作为部署的一部分自动分发自定义资源的正确方法是什么?在几十个或几百个盒子上手动安装自定义资源很麻烦,所以必须有办法,我只是在任何地方都看不到任何关于该主题的文档。

【问题讨论】:

  • 当我尝试使用 DSC 时,这正是让我远离它的原因。似乎入门的简单事情没有得到很好的支持或至少没有记录。要测试该技术,需要手动将依赖于某些自定义资源的配置推送到目标机器......如何使用 DSC 来做到这一点,而无需先手动将文件复制到 powershell 文件夹中?使用 DSC 自己提升资源?如果是这样,一些文档或教程将有助于解释这一点。

标签: powershell dsc


【解决方案1】:

您可以为 DSC 配置一个集中式拉取服务器,客户端可以从中获取配置和资源。签出:

【讨论】:

  • 这是本机完成此任务的唯一方法吗?对于我想要完成的任务,拉取服务器不适合我的需求。
  • AFAIK,是的。两种选择:1:Push(文件复制/手动安装)2:Pull(拉服务器)。
【解决方案2】:

如果您不想使用 Pull Server,则唯一的其他选择是手动将资源推送出去,或者通过使用配置中的文件资源(并使用 Depends On)来完成,或者将它们复制出来在其他地方手动。

我强烈推荐有关 DSC 的 PowerShell.org 电子书。它会引导您完成这个场景和许多其他场景。 https://onedrive.live.com/?cid=7f868aa697b937fe&id=7F868AA697B937FE%21107

【讨论】:

  • 如果我错了,请纠正我,但是我仍然必须解决实际将文件放到目标服务器上的问题。这是在无域环境中,因此我无法从 SMB 共享中获取文件。
  • 另一个使用拉取服务器的理由,您不需要 smb 共享。
  • 您可以在没有域的情况下使用 SMB 共享,您只需指定用户名(或在远程计算机上具有相同的帐户名和密码),只要它们在同一网络和防火墙上是开放的。
【解决方案3】:

【讨论】:

  • 自 2014 年以来情况发生了变化——通过 Install-Module 安装 pre-reqs 是我现在处理这种情况的首选方式。
【解决方案4】:

假设您使用的是 Windows Management Framework / PowerShell 5,您可以使用 Install-Module 从 NuGet 源安装资源。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多