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/builtinresource для получения дополнительной информации об этих ресурсах.
- Пользовательские ресурсы 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_regedit:
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 -vvv или выше и произошли изменения | Подробный вывод в виде списка из выполнения метода DSC Set. Пример: ["Выполнение операции 'Invoke CimMethod' со следующими параметрами, ", '[SERVER]: LCM: [Start Set ] [[File]DirectResourceAccess]', "Операция 'Invoke CimMethod' завершена."] |
| verbose_test список | уровень подробности Ansible -vvv или выше | Подробный вывод в виде списка из выполнения метода DSC test. Пример: ["Выполнение операции 'Invoke CimMethod' со следующими параметрами, ", '[SERVER]: LCM: [Start Test ] [[File]DirectResourceAccess]', "Операция 'Invoke CimMethod' завершена."] |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [бета-версия]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.8/modules/win_dsc_module.html