win_dsc – Вызывает конфигурацию PowerShell DSC
Новая в версии 2.4.
Обзор
- Настраивает ресурс с помощью PowerShell DSC.
- Требуется версия PowerShell 5.0 или более поздняя.
- Большинство параметров данного модуля динамические и будут варьироваться в зависимости от ресурса DSC, указанного в resource_name.
- Дополнительную информацию о том, как использовать этот модуль, см. в разделе Конфигурация желаемого состояния.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| free_form строка / обязательно | Модуль win_dsc принимает несколько параметров свободного формата, в зависимости от вызываемого ресурса DSC resource_name. Нет параметра с именем free_form, см. примеры.Этот модуль попытается преобразовать параметр в правильный тип, требуемый ресурсом DSC, и выведет предупреждение, если преобразование не удастся. Если тип параметра ресурса DSC – CimInstance или CimInstance[], это означает, что значение должно быть словарем или списком словарей в соответствии с требуемыми значениями параметра.Если тип параметра ресурса DSC – PSCredential, необходимо указать 2 параметра в определении задания Ansible с суффиксом _username и _password. Если тип параметра ресурса DSC – массив, то необходимо предоставить список, но также работает и строка, разделённая запятыми. Список следует использовать, когда это возможно, поскольку при этом не требуется экранирование, и он работает с более сложными типами списка CimInstance[]. Если тип параметра ресурса DSC – DateTime, необходимо использовать строку в формате ISO 8901 для обеспечения точности даты.Начиная с Ansible 2.8, Ansible будет автоматически проверять входные поля по определению ресурса DSC. Более старые версии будут игнорировать неверные поля без предупреждения. | |
| module_version строка | По умолчанию: "последняя" | Может использоваться для настройки конкретной версии вызываемого ресурса DSC. Полезно, если на целевом узле установлено несколько версий модуля, содержащего ресурс DSC. Если не указано, модуль будет следовать стандартной конвенции PowerShell и использовать самую новую версию. |
| resource_name строка / обязательно | Имя ресурса DSC для использования. Должен быть доступен PowerShell с использованием стандартных путей. |
Примечания
Примечание
- По умолчанию есть несколько встроенных ресурсов, которые поставляются с PowerShell 5.0. См. https://docs.microsoft.com/en-us/powershell/dsc/resources/resources для получения дополнительной информации об этих ресурсах.
- Пользовательские ресурсы DSC могут быть установлены с помощью win_psmodule с использованием параметра name.
- Движок DSC запускает каждую задачу от имени учетной записи SYSTEM. Любые ресурсы, для доступа к которым требуется другая учетная запись, должны иметь
PsDscRunAsCredential. - Чтобы увидеть допустимые параметры для ресурса DSC, выполните модуль с
-vvvдля отображения возможного вызова модуля. Значения по умолчанию в этом выводе не отображаются, но применяются внутри движка DSC.
Примеры
- name: Extract zip file
win_dsc:
resource_name: Archive
Ensure: Present
Path: C:\Temp\zipfile.zip
Destination: C:\Temp\Temp2
- name: Install a Windows feature with the WindowsFeature resource
win_dsc:
resource_name: WindowsFeature
Name: telnet-client
- name: Edit HKCU reg key under specific user
win_dsc:
resource_name: Registry
Ensure: Present
Key: HKEY_CURRENT_USER\ExampleKey
ValueName: TestValue
ValueData: TestData
PsDscRunAsCredential_username: '{{ansible_user}}'
PsDscRunAsCredential_password: '{{ansible_password}}'
no_log: true
- name: Create file with multiple attributes
win_dsc:
resource_name: File
DestinationPath: C:\ansible\dsc
Attributes: # can also be a comma separated string, e.g. 'Hidden, System'
- Hidden
- System
Ensure: Present
Type: Directory
- name: Call DSC resource with DateTime option
win_dsc:
resource_name: DateTimeResource
DateTimeOption: '2019-02-22T13:57:31.2311892+00:00'
# more complex example using custom DSC resource and dict values
- name: Setup the xWebAdministration module
win_psmodule:
name: xWebAdministration
state: present
- name: Create IIS Website with Binding and Authentication options
win_dsc:
resource_name: xWebsite
Ensure: Present
Name: DSC Website
State: Started
PhysicalPath: C:\inetpub\wwwroot
BindingInfo: # Example of a CimInstance[] DSC parameter (list of dicts)
- Protocol: https
Port: 1234
CertificateStoreName: MY
CertificateThumbprint: C676A89018C4D5902353545343634F35E6B3A659
HostName: DSCTest
IPAddress: '*'
SSLFlags: '1'
- Protocol: http
Port: 4321
IPAddress: '*'
AuthenticationInfo: # Example of a CimInstance DSC parameter (dict)
Anonymous: no
Basic: true
Digest: false
Windows: yes
Возвращаемые значения
Общие возвращаемые значения описаны в этом разделе, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| module_version строка | всегда | Версия используемого ресурса/модуля DSC. Пример: 1.0.1 |
| reboot_required логическое значение | всегда | Флаг, возвращаемый движком DSC, указывающий, требуется ли перезагрузка машины для вступления в силу внесённых изменений. Пример: True |
| verbose_set список | Ansible verbosity is -vvv or greater and a change occurred | Подробный вывод в виде списка из выполнения метода DSC Set. Пример: ["Perform operation 'Invoke CimMethod' with the following parameters, ", '[SERVER]: LCM: [Start Set ] [[File]DirectResourceAccess]', "Operation 'Invoke CimMethod' complete."] |
| verbose_test список | Ansible verbosity is -vvv or greater | Подробный вывод в виде списка из выполнения метода DSC test. Пример: ["Perform operation 'Invoke CimMethod' with the following parameters, ", '[SERVER]: LCM: [Start Test ] [[File]DirectResourceAccess]', "Operation 'Invoke CimMethod' complete."] |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Trond Hindenes (@trondhindenes)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/win_dsc_module.html