104 lines
3.5 KiB
Python
104 lines
3.5 KiB
Python
#!/usr/bin/python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
# Copyright: (c) 2017, AMTEGA - Xunta de Galicia
|
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
|
|
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
|
'status': ['preview'],
|
|
'supported_by': 'community'}
|
|
|
|
DOCUMENTATION = r'''
|
|
---
|
|
module: win_domain_computer
|
|
short_description: Manage computers in Active Directory
|
|
description:
|
|
- Create, read, update and delete computers in Active Directory using a
|
|
windows bridge computer to launch New-ADComputer, Get-ADComputer,
|
|
Set-ADComputer, Remove-ADComputer and Move-ADObject powershell commands.
|
|
version_added: '2.6'
|
|
options:
|
|
name:
|
|
description:
|
|
- Specifies the name of the object.
|
|
- This parameter sets the Name property of the Active Directory object.
|
|
- The LDAP display name (ldapDisplayName) of this property is name.
|
|
type: str
|
|
required: true
|
|
sam_account_name:
|
|
description:
|
|
- Specifies the Security Account Manager (SAM) account name of the
|
|
computer.
|
|
- It maximum is 256 characters, 15 is advised for older
|
|
operating systems compatibility.
|
|
- The LDAP display name (ldapDisplayName) for this property is sAMAccountName.
|
|
- If ommitted the value is the same as C(name).
|
|
- Note that all computer SAMAccountNames need to end with a $.
|
|
type: str
|
|
enabled:
|
|
description:
|
|
- Specifies if an account is enabled.
|
|
- An enabled account requires a password.
|
|
- This parameter sets the Enabled property for an account object.
|
|
- This parameter also sets the ADS_UF_ACCOUNTDISABLE flag of the
|
|
Active Directory User Account Control (UAC) attribute.
|
|
type: bool
|
|
default: yes
|
|
ou:
|
|
description:
|
|
- Specifies the X.500 path of the Organizational Unit (OU) or container
|
|
where the new object is created. Required when I(state=present).
|
|
type: str
|
|
description:
|
|
description:
|
|
- Specifies a description of the object.
|
|
- This parameter sets the value of the Description property for the object.
|
|
- The LDAP display name (ldapDisplayName) for this property is description.
|
|
type: str
|
|
default: ''
|
|
dns_hostname:
|
|
description:
|
|
- Specifies the fully qualified domain name (FQDN) of the computer.
|
|
- This parameter sets the DNSHostName property for a computer object.
|
|
- The LDAP display name for this property is dNSHostName.
|
|
- Required when I(state=present).
|
|
type: str
|
|
state:
|
|
description:
|
|
- Specified whether the computer should be C(present) or C(absent) in
|
|
Active Directory.
|
|
type: str
|
|
choices: [ absent, present ]
|
|
default: present
|
|
seealso:
|
|
- module: win_domain
|
|
- module: win_domain_controller
|
|
- module: win_domain_group
|
|
- module: win_domain_membership
|
|
- module: win_domain_user
|
|
author:
|
|
- Daniel Sánchez Fábregas (@Daniel-Sanchez-Fabregas)
|
|
'''
|
|
|
|
EXAMPLES = r'''
|
|
- name: Add linux computer to Active Directory OU using a windows machine
|
|
win_domain_computer:
|
|
name: one_linux_server.my_org.local
|
|
sam_account_name: linux_server
|
|
dns_hostname: one_linux_server.my_org.local
|
|
ou: "OU=servers,DC=my_org,DC=local"
|
|
description: Example of linux server
|
|
enabled: yes
|
|
state: present
|
|
delegate_to: my_windows_bridge.my_org.local
|
|
|
|
- name: Remove linux computer from Active Directory using a windows machine
|
|
win_domain_computer:
|
|
name: one_linux_server.my_org.local
|
|
state: absent
|
|
delegate_to: my_windows_bridge.my_org.local
|
|
'''
|
|
|
|
RETURN = r'''
|
|
'''
|