microsoft.ad.computer 模块 – 管理 Active Directory 计算机对象
注意
此模块是 microsoft.ad 集合 (版本 1.7.1) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查是否已安装它,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install microsoft.ad
。您需要其他需求才能使用此模块,有关详细信息,请参阅 需求。
要在 playbook 中使用它,请指定:microsoft.ad.computer
。
概要
管理 Active Directory 计算机对象及其属性。
需求
执行此模块的主机需要以下需求。
ActiveDirectory
PowerShell 模块
参数
参数 |
注释 |
---|---|
要在 AD 对象上添加、删除或设置的属性。 每个属性选项的值应为一个字典,其中键是 LDAP 属性,例如 属性值可以是原始字符串、整数或布尔值,用于在相关属性上添加、删除或设置。 该值也可以是一个字典,其中 *type* 键设置为
字符串属性值使用区分大小写的匹配来比较正在管理的 AD 对象。 有关更多信息,请参阅 LDAP 属性帮助。 默认值: |
|
所有属性及其值的字典,如果它们不存在,则将其添加到正在管理的 AD 对象中。 这用于可以包含多个值的属性,如果属性仅允许单个值,则改用 *set*。 默认值: |
|
所有属性及其值的字典,如果它们存在,则将其从正在管理的 AD 对象中删除。 这用于可以包含多个值的属性,如果属性仅允许单个值,则改用 *set*。 默认值: |
|
所有属性及其值的字典,设置在正在管理的 AD 对象上。 如果它们与请求的不匹配,这将替换任何现有值。 属性值的顺序不检查,仅检查请求的值是对象属性上的唯一值。 将其设置为 null 或空列表可清除属性的任何值。 默认值: |
|
当前 AD 对象可以信任的委托主体对象,用于添加、删除或设置。 每个子键值都是一个值列表,其形式为 这是在 这是一个高度敏感的属性,因为它允许指定的委托主体在使用正在管理的 AD 计算机对象进行身份验证时模拟任何帐户。 要清除所有委托主体,请使用带空列表的 *set*。 有关 DN 查找的工作方式的更多信息,请参阅 DN 查找属性。 有关如何添加/删除/设置列表选项的更多信息,请参阅 设置列表选项值。 |
|
添加指定为允许委托的主体。 除非由 *remove* 指定或不在 *set* 中,否则 *add* 未指定的任何现有主体将保持不变。 |
|
控制查找失败时找不到 DN 时要采取的操作。
选项
|
|
删除指定为允许委托的主体。 除非定义了 *set*,否则 *remove* 未指定的任何现有主体将保持不变。 |
|
将指定的主体设置为允许委托的主体。 如果此列表中未指定,这将删除任何现有主体。 指定空列表以删除所有允许委托的主体。 |
|
要设置的 AD 对象的描述。 这是在 |
|
要设置的 AD 对象的显示名称。 这是 |
|
指定计算机的完全限定域名 (FQDN)。 这是在 |
|
不要自动将 这只适用于显式设置sam_account_name的情况,可用于创建没有 选项
|
|
指定使用由name指定的服务器时应使用的凭据。 要为默认域服务器指定凭据,请使用没有name键的条目,或使用domain_username和domain_password选项。 这可以在剧本的模块默认值下的 有关更多信息,请参见模块中的AD身份验证。 默认值: |
|
这些凭据所属的服务器名称。 此值应与用于指定要使用的自定义服务器的其他选项中使用的值相对应,例如引用位于不同AD服务器上的AD标识的选项。 此键可以在一个条目中省略,以指定在未指定服务器时要使用的默认凭据,而不是使用domain_username和domain_password。 |
|
连接到由name指定的服务器时使用的密码。 |
|
连接到由name指定的服务器时使用的用户名。 |
|
domain_username的密码。 没有name键的domain_credentials子条目也可用于指定默认域身份验证的凭据。 这可以在剧本的模块默认值下的 |
|
指定要连接到的Active Directory域服务实例。 可以是FQDN或NetBIOS名称的形式。 如果未指定,则该值基于运行PowerShell的计算机的默认域。 可以在没有name键的domain_credentials条目下或通过domain_username和domain_password指定自定义凭据。 这可以在剧本的模块默认值下的 |
|
与AD交互时使用的用户名。 如果未设置此项,则用于身份验证的用户将是连接用户。 除非身份验证是带有凭据委派或CredSSP的Kerberos,或者在任务上使用了become,否则Ansible将无法使用连接用户。 没有name键的domain_credentials子条目也可用于指定默认域身份验证的凭据。 这可以在剧本的模块默认值下的 |
|
选项
|
|
用于查找要管理的AD对象的AD对象的标识。 如果满足以下条件,则必须指定此项:未设置name,尝试使用新的name重命名对象,或尝试将对象移动到不同的path。 标识可以是代表 如果省略,则要管理的AD对象将通过使用格式 使用microsoft.ad.computer模块时,如果提供的值未产生匹配且末尾没有 |
|
指定AD计算机帐户支持的Kerberos加密类型。 这是在 避免使用 要清除所有加密类型,请使用带有空列表的set。 有关如何添加/删除/设置列表选项的更多信息,请参阅 设置列表选项值。 |
|
要添加到现有集合的加密类型。 add未指定的任何现有加密类型将保持不变,除非由remove指定或不在set中。 选项
|
|
要从现有集合中删除的加密类型。 remove未指定的任何现有加密类型将保持不变,除非定义了set。 选项
|
|
要设置为AD计算机允许的唯一加密类型的加密类型。 如果此列表中未指定,这将删除所有现有加密类型。 指定空列表以删除所有加密类型。 选项
|
|
设置计算机帐户的位置。 这是在 |
|
管理对象的用户或组。 该值可以是 这是在 有关 DN 查找的工作方式的更多信息,请参阅 DN 查找属性。 |
|
要管理的AD对象的 如果指定了identity,并且通过该标识找到的对象的名称与该值不匹配,则将重命名该对象。 如果未设置identity,则必须指定此项。 |
|
新对象应存在于其中的OU或容器的路径。 如果创建新对象,则将在指定的路径创建新对象。如果没有指定路径,则对于大多数对象类型,将使用域的 如果管理通过identity找到的现有对象,则找到对象的路径将移动到此选项指定的路径。如果未指定路径,则对象将不会移动。 microsoft.ad.computer、microsoft.ad.user和microsoft.ad.group模块具有其自身在Active Directory域控制器上配置的默认路径。 这可以设置为字面值 |
|
将对象标记为受保护,防止意外删除。 这将应用拒绝访问权限,防止正常删除对象,并且需要在通过GUI或Ansible之外的任何其他工具删除对象之前删除此保护。 即使对象被标记为受保护以防止删除,使用state=absent仍将删除AD对象。 选项
|
|
要为计算机帐户设置的 如果省略,则在创建新帐户时使用name值。 它最多有256个字符,建议对于旧的操作系统兼容性使用15个字符。 如果省略,则在创建计算机时,该值与 请注意,所有计算机 默认情况下,如果省略了 |
|
指定要添加、删除或设置的帐户的服务主体名称 (SPN)。 这是在 要清除所有服务主体名称,请使用带有空列表的set。 有关如何添加/删除/设置列表选项的更多信息,请参阅 设置列表选项值。 |
|
要添加到 |
|
要从 |
|
要设置为 如果不在指定的列表中,这将清除所有现有的SPN。 设置为空列表可清除AD对象上的所有SPN。 |
|
设置为 设置为 当state=present时,必须设置选项name。 使用 选项
|
|
指定帐户是否受信任用于Kerberos委派。 这也被称为无约束Kerberos委派。 这会在 选项
|
|
配置帐户的用户主体名称 (UPN)。 格式为 这是在 |
属性
属性 |
支持 |
描述 |
---|---|---|
支持: 完全支持 |
可以在check_mode下运行并返回更改状态预测,而无需修改目标,如果不支持,则将跳过该操作。 |
|
支持: 完全支持 |
在diff模式下,将返回关于已更改内容(或在check_mode下可能需要更改的内容)的详细信息。 |
|
平台: windows |
可以对其进行操作的目标操作系统/系列。 |
备注
注意
有关从community.windows.win_domain_computer迁移到此模块的帮助,请参见win_domain_computer 迁移。
此模块必须在安装了
ActiveDirectory
模块的Windows目标主机上运行。当使用
sAMAccountName
值按identity匹配时,该值应以$
结尾。如果提供的值不以$
结尾,则模块仍将尝试查找具有提供值(在末尾附加$
之前)的计算机帐户。此回退行为是在此集合的1.7.0
版本中添加的。某些LDAP属性只能设置单个值,而其他属性可以设置多个值。某些属性也是只读的,无法更改。建议查看属性的模式元数据,其中
System-Only
是只读值,Is-Single-Value
是只有一个值的属性。尝试将多个值设置为
Is-Single-Value
属性会导致未定义的行为。如果在非域控制器的服务器上运行,则必须使用通过CredSSP或Kerberos进行的凭据委派,或者必须设置domain_username、domain_password。
另请参见
另请参见
- microsoft.ad.domain
确保Windows域的存在。
- microsoft.ad.domain_controller
管理Windows主机的域控制器/成员服务器状态。
- microsoft.ad.membership
管理Windows主机的域/工作组成员身份。
- microsoft.ad.object_info
收集Active Directory对象的的信息。
- microsoft.ad.object
管理Active Directory对象。
- microsoft.ad.offline_join
获取脱机域加入BLOB。
- microsoft.ad.group
管理Active Directory组对象。
- 迁移指南
此模块替换
community.windows.win_domain_computer
。有关详细信息,请参见迁移指南。- community.windows.win_domain_computer
管理Active Directory中的计算机。
示例
- name: Add linux computer to Active Directory OU using a windows machine
microsoft.ad.computer:
name: one_linux_server
sam_account_name: linux_server$
dns_hostname: one_linux_server.my_org.local
path: OU=servers,DC=my_org,DC=local
description: Example of linux server
enabled: true
state: present
- name: Remove linux computer from Active Directory using a windows machine
microsoft.ad.computer:
identity: one_linux_server$
state: absent
- name: Add SPNs to computer
microsoft.ad.computer:
identity: TheComputer$
spn:
add:
- HOST/TheComputer
- HOST/TheComputer.domain.test
- HOST/TheComputer.domain.test:1234
- name: Remove SPNs on the computer
microsoft.ad.computer:
identity: TheComputer$
spn:
remove:
- HOST/TheComputer
- HOST/TheComputer.domain.test
- HOST/TheComputer.domain.test:1234
- name: Set the principals the computer trusts for delegation from
microsoft.ad.computer:
identity: TheComputer$
delegates:
set:
- CN=FileShare,OU=Computers,DC=domain,DC=test
- OtherServer$ # Lookup by sAMAaccountName
- name: Add computer with sAMAccountName without $ suffix
microsoft.ad.computer:
identity: TheComputer
sam_account_name: TheComputer
do_not_append_dollar_to_sam: true
返回值
常见返回值已在此处记录,以下是此模块独有的字段
键 |
描述 |
---|---|
已创建、删除或编辑的AD对象的 返回:始终 示例: |
|
已创建、删除或编辑的AD对象的 如果在check模式下创建了新对象,则将返回0的GUID。 返回:始终 示例: |
|
管理的帐户的安全标识符 (SID)。 如果在check模式下创建了新的计算机,则SID将为 返回:始终 示例: |