<!--- Verify first that your feature was not already discussed on GitHub -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
A [Group Managed Service Account or gMSA](https://techcommunity.microsoft.com/t5/Core-Infrastructure-and-Security/Windows-Server-2012-Group-Managed-Service-Accounts/ba-p/255910) is a special type of service account in Active Directory that has its password managed automatically and can be used across multiple servers. The password is not known to administrators, and services, applications, and scheduled tasks that run as this account are able to automatically retrieve the password for the account.

Scheduled Tasks can run as gMSA, by setting a `logon_type` of `password` without actually supplying a password.

The `win_scheduled_task` module enforces that a password is supplied when the logon type is `password`, but the code otherwise would work as is.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
win_scheduled_task

##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->

<!--- Paste example playbooks or commands between quotes below -->
```yaml
- name: Task with gMSA
  win_scheduled_task:
    name: TaskName2
    username: DOMAIN\gMsaSvcAcct$
    logon_type: password
```

<!--- HINT: You can also paste gist.github.com links for larger files -->

default: \
  state:
    description:
    - When C(state=present) will ensure the task exists.
    - When C(state=absent) will ensure the task does not exist.
    type: str
    choices: [ absent, present ]
    default: present
  # Action options
  actions:
    description:
    - A list of action to configure for the task.
    - See suboptions for details on how to construct each list entry.
    - When creating a task there MUST be at least one action but when deleting
      a task this can be a null or an empty list.
    - The ordering of this list is important, the module will ensure the order
      is kept when modifying the task.
    - This module only supports the C(ExecAction) type but can still delete the
      older legacy types.
    type: list
    suboptions:
      path:
        description:
        - The path to the executable for the ExecAction.
        type: str
        required: yes
      arguments:
        description:
        - An argument string to supply for the executable.
        type: str