Spec-Zone.ru › Ansible 2.11

ansible.windows.win_dsc – Вызывает конфигурацию PowerShell DSC

Примечание

Этот плагин входит в состав коллекции ansible.windows (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install ansible.windows.

Для использования в книге задач укажите: ansible.windows.win_dsc.

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Настраивает ресурс с помощью PowerShell DSC.
  • Требуется версия PowerShell 5.0 или более поздняя.
  • Большинство параметров этого модуля являются динамическими и будут варьироваться в зависимости от ресурса DSC, указанного в resource_name.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
free_form
строка / обязательно
Модуль ansible.windows.win_dsc принимает несколько параметров свободного формата в зависимости от ресурса DSC, вызываемого параметром resource_name.
Нет параметра с именем free_form, см. примеры.
Этот модуль попытается преобразовать параметр в правильный тип, требуемый ресурсом DSC, и выведет предупреждение в случае неудачи.
Если тип параметра ресурса DSC является CimInstance или CimInstance[], это означает, что значение должно быть словарем или списком словарей, в зависимости от требуемых значений параметра.
Если тип параметра ресурса DSC является PSCredential, необходимо установить 2 параметра в определении задачи Ansible, добавляя суффикс _username и _password.
Если тип параметра ресурса DSC — массив, следует предоставить список, но работает также и строка с разделителями запятых. Используйте список, где это возможно, так как он не требует экранирования и работает с более сложными типами списков CimInstance[].
Если тип параметра ресурса DSC — DateTime, следует использовать строку в формате ISO 8901 для обеспечения точной даты.
module_version
строка
Значение по умолчанию:
"latest"
Можно использовать для настройки точной версии ресурса DSC, который необходимо вызвать.
Полезно, если на целевом узле установлено несколько версий модуля, содержащего ресурс DSC.
Если не указано, модуль будет следовать стандартной конвенции PowerShell и использовать наиболее новую доступную версию.
resource_name
строка / обязательно
Имя ресурса DSC, который необходимо использовать.
Должен быть доступен PowerShell с помощью стандартных путей.

Примечания

Примечание

  • По умолчанию есть несколько встроенных ресурсов, поставляемых с PowerShell 5.0. См. https://docs.microsoft.com/en-us/powershell/scripting/dsc/resources/resources для получения дополнительной информации об этих ресурсах.
  • Пользовательские ресурсы DSC можно установить с помощью community.windows.win_psmodule с помощью параметра name.
  • Двигатель DSC запускает каждую задачу как учетную запись SYSTEM. Любые ресурсы, которые необходимо получить с помощью другой учетной записи, должны иметь PsDscRunAsCredential.
  • Для просмотра допустимых параметров для ресурса DSC выполните модуль с -vvv для отображения возможного вызова модуля. Значения по умолчанию в этом выводе не отображаются, но применяются в движке DSC.
  • Движок DSC требует, чтобы HTTP-слушатель WSMan был активен и его порт был настроен как порт по умолчанию для HTTP. Это настраивается по умолчанию, но если используется пользовательский HTTP-порт или присутствует только HTTPS-слушатель, модуль завершится ошибкой. В примерах показано, как проверить это в PowerShell.

Примеры

- name: Verify the WSMan HTTP listener is active and configured correctly
  ansible.windows.win_shell: |
    $port = (Get-Item -LiteralPath WSMan:\localhost\Client\DefaultPorts\HTTP).Value
    $onlinePorts = @(Get-ChildItem -LiteralPath WSMan:\localhost\Listener |
        Where-Object { 'Transport=HTTP' -in $_.Keys } |
        Get-ChildItem |
        Where-Object Name -eq Port |
        Select-Object -ExpandProperty Value)

    if ($port -notin $onlinePorts) {
        "The default client port $port is not set up as a WSMan HTTP listener, win_dsc will not work."
    }

- name: Extract zip file
  ansible.windows.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
  ansible.windows.win_dsc:
    resource_name: WindowsFeature
    Name: telnet-client

- name: Edit HKCU reg key under specific user
  ansible.windows.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
  ansible.windows.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
  ansible.windows.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
  ansible.windows.win_psmodule:
    name: xWebAdministration
    state: present

- name: Create IIS Website with Binding and Authentication options
  ansible.windows.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."]


Авторы

  • Trond Hindenes (@trondhindenes)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/windows/win_dsc_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API