ansible.windows.win_user 模块 – 管理本地 Windows 用户帐户

注意

此模块是 ansible.windows 集合(版本 2.5.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install ansible.windows

要在 playbook 中使用它,请指定:ansible.windows.win_user

概要

  • 管理本地 Windows 用户帐户。

  • 对于非 Windows 目标,请改用 ansible.builtin.user 模块。

参数

参数

注释

account_disabled

布尔值

true 将禁用用户帐户。

false 将清除禁用标志。

选择

  • false

  • true

account_expires

字符串

在 ansible.windows 2.4.0 中添加

设置用户的帐户过期日期。

此值应采用 %Y-%m-%d%Y-%m-%dT%H:%M:%S%z 格式。时区可以在长格式中省略,并将默认为 UTC。%z 的格式为 ±HHMM±HH:MMZ(对于 UTC)。

将值设置为 never 以删除帐户过期日期。

account_locked

布尔值

只能设置 false,如果用户帐户被锁定,它将解锁该帐户。

选择

  • false

  • true

description

字符串

用户的描述。

fullname

字符串

用户的全名。

groups

列表 / 元素=字符串

根据 groups_action 的值,从此逗号分隔的组列表中添加或删除用户。

groups_actionreplacegroups 设置为空字符串(‘groups=’)时,该用户将从所有组中删除。

ansible.windows v1.5.0 起,可以使用组的安全标识符指定组。

groups_action

字符串

如果为 add,则该用户将添加到 groups 中尚未成为成员的每个组中。

如果为 replace,则该用户将添加为 groups 中每个组的成员,并从任何其他组中删除。

如果为 remove,则该用户将从 groups 中的每个组中删除。

选择

  • "add"

  • "replace" ← (默认)

  • "remove"

home_directory

字符串

在 ansible.windows 1.0.0 中添加

用户的指定主目录。

login_script

字符串

在 ansible.windows 1.0.0 中添加

用户的登录脚本。

name

字符串 / 必选

要创建、删除或修改的用户的名称。

password

字符串

可以选择将用户的密码设置为此(纯文本)值。

password_expired

布尔值

true 将要求用户在下次登录时更改其密码。

false 将清除过期的密码标志。

选择

  • false

  • true

password_never_expires

布尔值

true 将设置密码永不过期。

false 将允许密码过期。

选择

  • false

  • true

profile

字符串

在 ansible.windows 1.0.0 中添加

用户的配置文件路径。

state

字符串

当为 absent 时,如果用户帐户存在,则删除该帐户。

当为 present 时,创建或更新用户帐户。

当为 query 时,检索用户帐户详细信息,而不进行任何更改。

选择

  • "absent"

  • "present" ← (默认)

  • "query"

update_password

字符串

always 将在密码不同时更新密码。

on_create 将仅为新创建的用户设置密码。

选择

  • "always" ← (默认)

  • "on_create"

user_cannot_change_password

布尔值

true 将阻止用户更改其密码。

false 将允许用户更改其密码。

选择

  • false

  • true

备注

注意

  • 返回值基于设置模块选项后的用户对象。在检查模式下运行时,这些值仍然反映现有用户设置,而不是它们将被更改为什么。

另请参阅

另请参阅

ansible.builtin.user

管理用户帐户。

ansible.windows.win_domain_membership

管理 Windows 主机的域/工作组会员资格。

community.windows.win_domain_user

管理 Windows Active Directory 用户帐户。

ansible.windows.win_group

添加和删除本地组。

ansible.windows.win_group_membership

管理 Windows 本地组成员资格。

community.windows.win_user_profile

管理 Windows 用户配置文件。

示例

- name: Ensure user bob is present
  ansible.windows.win_user:
    name: bob
    password: B0bP4ssw0rd
    state: present
    groups:
      - Users

- name: Ensure user bob is absent
  ansible.windows.win_user:
    name: bob
    state: absent

- name: Set an account expiration date to the 27th of October 2024 at 2:30PM UTC
  ansible.windows.win_user:
    name: bob
    state: present
    account_expires: '2024-10-27T14:30:00Z'

- name: Set an account expiration 30 days in the future
  ansible.windows.win_user:
    name: bob
    state: present
    account_expires: '{{ "%Y-%m-%dT%H:%M:%S%z" | ansible.builtin.strftime(now().timestamp() + (60 * 60 * 24 * 30)) }}'

- name: Remove account expiration date
  ansible.windows.win_user:
    name: bob
    state: present
    account_expires: never

返回值

常见返回值记录在此处,以下是此模块独有的字段

描述

account_disabled

布尔值

用户是否被禁用。

返回: 用户存在

示例: false

account_locked

布尔值

用户是否被锁定。

返回: 用户存在

示例: false

description

字符串

为用户设置的描述。

返回: 用户存在

示例: "Username for test"

fullname

字符串

为用户设置的全名。

返回: 用户存在

示例: "Test Username"

groups

列表 / 元素=字符串

用户所属的组列表及其 ADSI 路径。

返回: 用户存在

示例: [{"name": "Administrators", "path": "WinNT://WORKGROUP/USER-PC/Administrators"}]

name

字符串

用户名

返回: 总是

示例: "username"

password_expired

布尔值

密码是否已过期。

返回: 用户存在

示例: false

password_never_expires

布尔值

密码是否设置为永不过期。

返回: 用户存在

示例: true

路径

字符串

用户的 ADSI 路径。

返回: 用户存在

示例: "WinNT://WORKGROUP/USER-PC/username"

sid

字符串

用户的 SID。

返回: 用户存在

示例: "S-1-5-21-3322259488-2828151810-3939402796-1001"

user_cannot_change_password

布尔值

用户是否可以更改自己的密码。

返回: 用户存在

示例: false

作者

  • Paul Durivage (@angstwad)

  • Chris Church (@cchurch)