Spec-Zone.ru › Ansible 2.10

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 -vvv или выше и произошли изменения
Подробный вывод в виде списка, полученный в результате выполнения метода DSC Set.

Пример:
["Perform operation 'Invoke CimMethod' with the following parameters, ", '[SERVER]: LCM: [Start Set ] [[File]DirectResourceAccess]', "Operation 'Invoke CimMethod' complete."]
verbose_test
список / элементы=строка
Вербальность Ansible -vvv или выше
Подробный вывод в виде списка, полученный в результате выполнения метода 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/windows/win_dsc_module.html

Spec-Zone.ru

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