Ресурсы DSC
Относится к Windows PowerShell 4.0 и более поздним версиям.
Обзор
Ресурсы службы настройки требуемого состояния (DSC) предоставляют шаблоны для настройки DSC. В ресурсе представлены свойства, которые можно настроить (схема), и функции сценариев PowerShell, которые вызывает локальный диспетчер конфигураций (LCM).
Ресурс может моделировать что-либо универсальное, например файл, или конкретное, например настройку сервера IIS. Группы похожих ресурсов объединяются в DSC-модуль, в котором все необходимые файлы упорядочиваются в переносимую структуру и включаются метаданные для идентификации целевого предназначения ресурсов.
Каждый ресурс содержит *схему, которая определяет синтаксис, используемый ресурсом при конфигурации. Схема ресурса может быть определена следующими способами.
- Файл
Schema.Mof
. Большинство ресурсов определяет свою схему в файлеschema.mof
с помощью MOF. - Файл
<Resource Name>.schema.psm1
. Составные ресурсы определяют свою схему в файле<ResourceName>.schema.psm1
с помощью блока параметров. - Файл
<Resource Name>.psm1
. Ресурсы DSC, основанные на классе, определяют свою схему в описании класса. Элементы синтаксиса обозначаются как свойства класса. Дополнительные сведения см. в статье About Classes and Desired State Configuration (О классах и настройке требуемого состояния).
Чтобы получить синтаксис из ресурса DSC, используйте командлет Get-DSCResource с параметром Syntax. Это похоже на использование командлета Get-Command с параметром Syntax для получения синтаксиса командлета. В выходных данных будет показан шаблон, используемый в указанном блоке ресурса.
Get-DscResource -Syntax Service
Выходные данные должны соответствовать выходным данным, приведенным ниже, так как в будущем этот ресурс может измениться. Например, синтаксис командлета, для которого ключи в квадратных скобках являются необязательными. Типы указывают типы данных для каждого ключа в списке ожидания.
Примечание
Ключ Ensure является необязательным, так как Present является его значением по умолчанию.
Service [String] #ResourceName
{
Name = [string]
[BuiltInAccount = [string]{ LocalService | LocalSystem | NetworkService }]
[Credential = [PSCredential]]
[Dependencies = [string[]]]
[DependsOn = [string[]]]
[Description = [string]]
[DisplayName = [string]]
[Ensure = [string]{ Absent | Present }]
[Path = [string]]
[PsDscRunAsCredential = [PSCredential]]
[StartupType = [string]{ Automatic | Disabled | Manual }]
[State = [string]{ Running | Stopped }]
}
Примечание
В версиях PowerShell до 7.0 Get-DscResource
не находит ресурсы DSC на основе класса.
Блок ресурсов Служба внутри конфигурации может выглядеть следующим образом. Это необходимо, чтобы убедиться, что служба подсистемы печати работает.
Примечание
Перед использованием ресурса в конфигурации его необходимо импортировать с помощью командлета Import-DSCResource.
Configuration TestConfig
{
# It is best practice to always directly import resources, even if the
# resource is a built-in resource.
Import-DSCResource -Name Service
Node localhost
{
# The name of this resource block, can be anything you choose, as l
# ong as it is of type [String] as indicated by the schema.
Service "Spooler - Running"
{
Name = "Spooler"
State = "Running"
}
}
}
Конфигурации могут содержать несколько экземпляров одного типа ресурса. Имя каждого экземпляра должно быть уникально. В следующем примере второй блок ресурсов Служба добавляется для настройки службы DHCP.
Configuration TestConfig
{
# It is best practice to always directly import resources, even if the
# resource is a built-in resource.
Import-DSCResource -Name Service
Node localhost
{
# The name of this resource block, can be anything you choose, as
# long as it is of type [String] as indicated by the schema.
Service "Spooler - Running"
{
Name = "Spooler"
State = "Running"
}
# To configure a second service resource block, add another Service
# resource block and use a unique name.
Service "DHCP - Running"
{
Name = "DHCP"
State = "Running"
}
}
}
Примечание
Начиная с PowerShell 5.0, технология IntelliSense включена в DSC. Новая функция позволяет использовать клавиши TAB и CTRL+ПРОБЕЛ для автозаполнения имен ключей.
Типы ресурсов
В Windows имеются встроенные ресурсы. Кроме того, существуют ресурсы для ОС Linux. Имеются ресурсы для межузловых зависимостей, ресурсы для управления пакетами, а также ресурсы, принадлежащие сообществу и поддерживаемые им. Шаги, описанные выше, можно использовать для определения синтаксиса этих ресурсов и способов их использования. Страницы, на которых было описано использование этих ресурсов, собраны в разделе Справочные материалы.
Встроенные ресурсы Windows
- Ресурс Archive
- Ресурс Environment
- Ресурс File
- Ресурс Group
- Ресурс GroupSet
- Ресурс Log
- Ресурс Package
- Ресурс ProcessSet
- Ресурс Registry
- Ресурс Script
- Ресурс Service
- Ресурс ServiceSet
- Ресурс User
- Ресурс WindowsFeature
- Ресурс WindowsFeatureSet
- Ресурс WindowsOptionalFeature
- Ресурс WindowsOptionalFeatureSet
- Ресурс WindowsPackageCabResource
- Ресурс WindowsProcess
Ресурсы межузловых зависимостей
Ресурсы управления пакетами
Ресурсы Linux
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по