执行前提:在 Windows 环境下使用 winget

PowerShellカテゴリを表すパンダのイラスト PowerShell

微软正式宣布 Microsoft Desired State Configuration (DSC) v3.2.0 总体可用 (GA)。本文将根据官方信息,梳理各项主要变更,包括新的 Windows 资源、Bicep 集成、版本锁定以及表达式语言的扩展等。

本文是利用人工智能生成的技术说明与实现示例。虽然文中的代码与步骤基于第一手资料构建,但作者并未在实体机器上进行运行验证。根据环境与版本的不同,实际运行情况可能会有所差异。

目的

本文旨在梳理 Microsoft Desired State Configuration (DSC) v3.2.0 中的新功能与改进,并掌握官方信息中所示各功能的大致内容及使用要点。

前提与注意事项

  • 本文是基于一手资料的解说,处于【实机验证前】的状态。

  • 据说明,某些功能(例如 OptionalFeatureList 和 FeatureOnDemandList 等)需要使用 ZIP 软件包。

  • 利用 gRPC 的 Bicep 集成等功能作为实验性功能(experimental)提供。

DSC v3.2.0 的主要新功能与组件

在 DSC v3.2.0 中,结合了实际应用、来自合作伙伴的反馈以及社区的贡献,进行了多方面的功能增强。

新的 Windows 资源

通过新增的内置 Windows 资源,扩大了无需额外安装即可进行管理的范围。一手资料中列出了以下资源:

  • Microsoft.Windows/Service: 管理 Windows 服务

  • Microsoft.Windows/OptionalFeatureList: 管理 Windows 可选功能(需要 ZIP 软件包)

  • Microsoft.Windows/FeatureOnDemandList: 管理 Windows 按需功能(需要 ZIP 软件包)

  • Microsoft.Windows/FirewallRuleList: 管理 Windows 防火墙规则

  • Microsoft.OpenSSH.SSHD/sshd_config: 管理整体 SSH 服务器配置

  • Microsoft.OpenSSH.SSHD/Subsystem 以及 Microsoft.OpenSSH.SSHD/SubsystemList: 管理关于子系统条目的 SSH 服务器配置

  • Microsoft.OpenSSH.SSHD/Windows:管理 Windows SSH 服务器设置,例如默认 Shell

flowchart TD
    DSC[DSC v3.2.0 Core] --> WinRes[Windows Resources]
    DSC --> Bicep[Bicep Integration via gRPC]
    DSC --> Ext[Extensions: Import & Secret]
    WinRes --> Service[Microsoft.Windows/Service]
    WinRes --> Firewall[Microsoft.Windows/FirewallRuleList]
    WinRes --> SSH[Microsoft.OpenSSH.SSHD/Windows]
    Bicep --> Extension[dsc-bicep-ext]
    Ext --> Import[File Import]
    Ext --> Secret[Secret Retrieval]

Bicep 集成与 gRPC(实验性功能)

现已引入 gRPC 服务器,允许 Bicep 直接编排 DSC 资源,而无需通过 ARM。dsc-bicep-ext扩展现在包含在 MSIX 包中,并会公开到 PATH 中。

增强的 WhatIf 支持

dsc resource set命令中已添加 --what-if,以便在对单个资源应用更改之前进行预览。此外,通过在资源清单中声明 whatIfReturns,可以实现更详细的预览输出。

版本锁定(Version Pinning)

现已支持将配置文件锁定到特定 DSC 版本的功能,以及将配置中的资源实例锁定到指定版本的功能。version 利用指令或 requireVersion 字段。

表达式语言的改进

通过 ARM 语法支持使用 map() 或 filter() 的 Lambda 表达式,dataUri() 以及 dataUriToString() 函数,并在 copy 循环内使用 reference(),从而提高了配置文件的表达能力。

扩展和适配器的改进

作为新的扩展功能,新增了将任意文件转换为 DSC 配置文档的“导入”功能,以及在运行时检索机密的“机密”功能。此外,还添加了对 PowerShell 适配器的自适应资源清单支持,以及Write-*使用 cmdlet 的自动跟踪转换等功能。

确认方法

第一手资料介绍了在 Windows 环境下从 Microsoft Store 使用 winget 搜索和安装 DSC 的方法。

以下是整理了保存名称、运行前提条件以及预期确认内容的命令示例。

# 実行前提: Windows環境でのwinget利用


# 確認内容: DesiredStateConfigurationのパッケージIDとバージョンの確認

winget search DesiredStateConfiguration --source msstore

局限性

  • 本文讨论的内容均基于官方博客的公开信息,未显示实际硬件环境中的运行结果或性能指标。

  • 部分功能和扩展功能属于实验性(experimental)功能,未来版本可能会更改规范。

总结

  • 在 DSC v3.2.0 中,添加了许多功能,包括 Windows 资源扩展、Bicep 集成、版本固定以及表达式语言的扩展。

  • 在运行前需要注意的点包括要使用的包格式(Store 版还是 ZIP 版)以及实验性功能的启用状态。

  • 有关详细规格和最新补丁信息的说明,请查看官方文档和代码仓库。

参考信息

  • 来源标题: Announcing Microsoft Desired State Configuration v3.2.0

  • URL: https://devblogs.microsoft.com/powershell/announcing-dsc-v3-2-0/

文档信息

文章??
执行前提:在 Windows 环境下使用 winget
?布日期
更新日期
来源
https://papanda925.com/?p=17896&lang=zh

?可: ?于本站?有相??利的正文及原??表,除非?有?明,可依据 CC BY 4.0 使用。本文可能包含使用生成式AI?建或??的内容。若代??有?可声明,或?接的GitHub???定了?可,?代?以??可?准。引用内容、第三方?料、?片及商?不在本?可范?内。 使用政策

标题和URL已复制