📜  PowerShell DSC

📅  最后修改于: 2021-01-08 02:54:26             🧑  作者: Mango

PowerShell DSC

所需状态配置(DSC )是PowerShell中的一个管理平台,用于开发,配置和管理系统。 PowerShell DSC在4.0版中引入。因此,如果要使用它,则需要4.0或更高版本的PowerShell。它在Linux,Windows和Nano Server上可用。

它提供了PowerShell语言扩展,cmdlet和称为声明性脚本编制的过程的集合。

它主要由三个部分组成:

  • 构型
  • 资源资源
  • 本地配置管理器(LCM)

DSC配置

DSC配置是PowerShell的脚本,用于定义特殊类型的函数。我们使用关键字Configuration定义配置。

DSC配置的语法

配置脚本由以下部分组成:

  • 配置块:这是脚本的最外层块。我们可以使用关键字configuration并提供名称来定义它。
  • 一个或多个节点块:这些块定义您要配置的节点。
  • 一个或多个资源块:在这些块中,配置为正在配置的那些资源设置属性。

示例:在此示例中,我们可以在编译配置时通过传递参数computerName来指定节点的名称。

Configuration MyDscConfiguration
{
    Param
    (
        [string[]]$ComputerName='localhost'
    )
    Node $ComputerName
    {
        WindowsFeature MyFeatureInstance
        {
            Ensure = 'Present'
            Name = 'RSAT'
        }
        WindowsFeature My2ndFeatureInstance
        {
            Ensure = 'Present'
            Name = 'Bitlocker'
        }

键入以下命令以获取以上示例的输出:

MyDscConfiguration

输出:

    Directory: C:\MyDscConfiguration
Mode                LastWrite Time         Length Name
----                      -------------                   ------     ---
-a----                 18-11-2019   16:16     2554    localhost.mof

DSC资源

所需状态配置的资源为DSC配置提供了构建块。以下是所需状态配置的基本内置配置资源:

  • 文件:此资源用于管理节点上的文件和文件夹。
  • 存档:用于解压缩.zip格式的存档。
  • 注册表:它管理节点的注册表项(HKEY用户除外)。
  • 脚本:用于在一个节点上执行多个PS命令。
  • 用户:用于管理节点上的本地用户。
  • 日志:日志资源在DSC事件日志中写入一条消息。
  • 软件包:此资源将安装或删除软件包。
  • WindowsFeature:它在节点上添加或删除功能。
  • WindowsOptionalFeature:此资源添加或删除可选功能。
  • WindowsProcess: DSC的此资源管理Windows进程。
  • 服务:用于管理Windows服务,例如状态,启动类型。
  • 环境:它管理系统环境变量。

DSC本地配置管理器(LCM)

它是所需状态配置的引擎。本地配置管理器负责制定和解析发送到节点的配置。它控制着DSC配置的所有执行。