ansible.windows.win_environment 模块 – 修改 Windows 主机上的环境变量
注意
此模块是 ansible.windows 集合(版本 2.5.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。 它不包含在 ansible-core
中。 要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install ansible.windows
。
要在 playbook 中使用它,请指定:ansible.windows.win_environment
。
概要
使用 .net Environment 设置或删除环境变量,并且可以在用户、计算机或进程级别进行设置。
用户级别的环境变量将被设置,但在用户注销并重新登录之前不可用。
参数
参数 |
注释 |
---|---|
设置环境变量的级别。 使用 使用 使用 选择
|
|
环境变量的名称。 当 state=absent 时必需。 |
|
设置为 设置为 当使用 variables 时,不要设置此选项。 选择
|
|
要存储在环境变量中的值。 当 state=present 时必须设置,并且不能为空字符串。 对于 state=absent 和 variables,应省略此项。 |
|
一个字典,可以在其中一次定义多个环境变量。 当设置 state 时无效。 具有值的变量将被设置( level 适用于以此方式定义的所有变量。 |
注意
注意
此模块最适合设置环境变量的整个值。 对于基于元素的路径式环境变量的安全管理,请使用 ansible.windows.win_path 模块。
此模块不广播更改事件。 这意味着少数可以更改其环境而无需重新启动的 Windows 应用程序不会收到通知,因此需要重新启动才能获取新的环境设置。 用户级别的环境变量将需要用户注销并再次登录才能变得可用。
在返回中,当使用 variables 时,
before_value
和value
将设置为最后的值。 如果您需要查找特定变量的前后值,最好在这种情况下使用values
。
参见
另请参阅
- ansible.windows.win_path
管理 Windows 路径环境变量。
示例
- name: Set an environment variable for all users
ansible.windows.win_environment:
state: present
name: TestVariable
value: Test value
level: machine
- name: Remove an environment variable for the current user
ansible.windows.win_environment:
state: absent
name: TestVariable
level: user
- name: Set several variables at once
ansible.windows.win_environment:
level: machine
variables:
TestVariable: Test value
CUSTOM_APP_VAR: 'Very important value'
ANOTHER_VAR: '{{ my_ansible_var }}'
- name: Set and remove multiple variables at once
ansible.windows.win_environment:
level: user
variables:
TestVariable: Test value
CUSTOM_APP_VAR: 'Very important value'
ANOTHER_VAR: '{{ my_ansible_var }}'
UNWANTED_VAR: '' # < this will be removed
返回值
常见的返回值记录在这里,以下是此模块独有的字段
键 |
描述 |
---|---|
更改之前环境变量键的值,如果它不存在则为空 返回: 始终 示例: |
|
环境变量键已设置为的值,如果已删除则为空 返回: 始终 示例: |
|
前后值的字典; 每个键是一个变量名称,每个值是另一个带有 返回: 始终 |