【问题标题】:Generating MOFS for Partial Configurations using Configuration Names使用配置名称为部分配置生成 MOFS
【发布时间】:2016-05-05 20:01:00
【问题描述】:

我目前已设置节点以从 http 拉取服务器(实验室环境)拉取其配置。这些节点的 LCM 使用配置名称来查找它们的 mof。如果我手动将 mof 修改为与配置名称相同的名称,并将 mof 数据更改为适用于所有计算机,它们就可以工作。我找不到从 cmdlet 生成这样的 mof 的简单方法。

生成的mof:servername.mof

@TargetNode='servername'...

修改mof:configurationname.mof

@TargetNode='*'...

如果我尝试生成 mof 而不指定节点名称并且在配置脚本中包含 Node * {...},我只会收到以下错误:

out-file : 无法执行操作,因为通配符路径 .\configurationname/*.mof 未解析为文件。

如果我创建该目录并将一个 mof 放入其中,cmdlet 将覆盖它并将@TargetNode 更改为通配符。目录中的多个mof会导致不同的错误。

【问题讨论】:

    标签: powershell powershell-5.0 dsc


    【解决方案1】:

    Credit to Alfano Greg on Powershell.org: 在我编写的部分配置中,我使用配置的名称(在您的情况下为“Partial2”)作为节点的名称。 node 的值将决定 .mof 文件的名称。

    Configuration Partial2 {
    
        Node ('Partial2') {
    
            File Test {
    
                Ensure          = "Present"
                DestinationPath = "C:\some\path"
                Type            = "Directory"
            }
        }
    }
    

    Ed:MOF 将在注释标头中将“Partial2”作为 TargetNode,但 LCM 在编译 pending.mof 时似乎会覆盖或忽略此值,因此这不是问题。

    参考:
    - PowerShell Magazine (2014) - Partial Configurations in Windows Mangement Framework (WMF) 5.0
    - Official Partial Configuration documentiation

    【讨论】:

    • Get-DscConfigurationStatus 使用来自 mof 的注释标头来提供有关 mof 生成的信息。
    【解决方案2】:

    如果您的配置包含多个节点,并且您希望将生成的 mofs 用作部分配置,则使其工作的唯一方法是重命名 mof 中的配置名称并更改文件名以匹配它。但是,您可以划分配置,以便每个配置有 1 个节点。这样您就可以对所有这些配置使用相同的 configurationData。您也可以针对此问题提出用户语音请求@https://windowsserver.uservoice.com/forums/301869-powershell

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      相关资源
      最近更新 更多