win_path - Manage Windows path environment variables

New in version 2.3.

Synopsis

Parameters

Parameter Choices/Defaults Comments
elements
required
A single path element, or a list of path elements (ie, directories) to add or remove.
When multiple elements are included in the list (and state is present), the elements are guaranteed to appear in the same relative order in the resultant path value.
Variable expansions (eg, %VARNAME%) are allowed, and are stored unexpanded in the target path element.
Any existing path elements not mentioned in elements are always preserved in their current order.
New path elements are appended to the path, and existing path elements may be moved closer to the end to satisfy the requested ordering.
Paths are compared in a case-insensitive fashion, and trailing backslashes are ignored for comparison purposes. However, note that trailing backslashes in YAML require quotes.
name Default:
PATH
Target path environment variable name.
scope
    Choices:
  • machine ←
  • user
The level at which the environment variable specified by name should be managed (either for the current user or global machine scope).
state
    Choices:
  • absent
  • present
Whether the path elements specified in elements should be present or absent.

Notes

Note

  • This module is for modifying indidvidual elements of path-like environment variables. For general-purpose management of other environment vars, use the win_environment module.
  • This module does not broadcast change events. This means that the minority of windows applications which can have their environment changed without restarting will not be notified and therefore will need restarting to pick up new environment settings. User level environment variables will require an interactive user to log out and in again before they become available.

Examples

- name: Ensure that system32 and Powershell are present on the global system path, and in the specified order
  win_path:
    elements:
    - '%SystemRoot%\system32'
    - '%SystemRoot%\system32\WindowsPowerShell\v1.0'

- name: Ensure that C:\Program Files\MyJavaThing is not on the current user's CLASSPATH
  win_path:
    name: CLASSPATH
    elements: C:\Program Files\MyJavaThing
    scope: user
    state: absent

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Maintenance

This module is flagged as core which means that it is maintained by the Ansible Core Team. See Module Maintenance & Support for more info.

For a list of other modules that are also maintained by the Ansible Core Team, see here.

Support

For more information about Red Hat’s support of this module, please refer to this Knowledge Base article

Author

  • Matt Davis (@nitzmahone)

Hint

If you notice any issues in this documentation you can edit this document to improve it.