1、准备

1.1 Managed node

AD域主机

选择其他Windows机器作为跳板,建议使用windows server 2012及以上版本,该主机需要满足可以由ansible主机连接,同时可以访问AD域主机

如果使用其他Windows主机,则需要在该主机上安装Powershell的AD管理模块

打开WinRM模块:

使用超级管理员打开powershell,运行如下脚本https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1


1.2 Control node

使用ansible连接Windows时,需要使用pywinrm模块,手动进行安装。

pip install pywinrm 


2、配置

2.1 Managed node信息配置


$ cat /etc/ansible/hosts 

[ad]
10.7.37.11
[ad:vars]
ansible_user=administrator
ansible_password=yCcJy3zTc9Z$3uvr
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore



2.2  playbook配置 


---
- name: cfad
  hosts: ad  # Managed node里的组名
  tasks:
  - name: Ensure user Si.Li created and use custom credentials to create the user       # 自定义任务名称
    win_domain_user:					
      name: Si.Li																		# AD用户条目名称
      firstname: Si  																	# first name
      surname: Li																		# last name
      password: B0bP4ssw0rd																# password
      upn: Si.Li@cf.com																	# user logon name
      state: present																	# 如果用户已存在,则对其更新;如果不存在,则新建。
      country: CN																		# CN = China
      company: Shangri-La Hotel Management (Shanghai) Co., Ltd Beijing Branch			# company
      city: BJ																			# city
      email: Si.Li@cf.com																# Email
      description: BJS  																# Description
      attributes:
        telephoneNumber: 555-123458 													# telnetphoneNumber
        displayname: Li-Si 																# displayname
        Department: Technology Development 												# department
        Manager: CN=San.Zhang,CN=Users,DC=cf,DC=com  									# Manager , 这里需要指定Manager 的DN
        Title: CIO   																	# Job Title
        physicalDeliveryOfficeName: TDC-AL  											# Office
        proxyAddresses: SMTP:Si.Li@cf.com 												# proxyAddresses
        # mailNickname: San.Zhang														# ----------mailNickName,未发现属性
        msDS-cloudExtensionAttribute1: E3												# msDS-cloudExtensionAttribute1
        # msExchRecipientTypeDetails: 128												# ----------msExchRecipientTypeDetails,未发现属性
        # extensionAttribute1: Enable													# ----------extensionAttribute1,未发现属性
      domain_username: CF\ADADMIN														# 用于与AD交互的用户名
      domain_password: Passw0rd															# 用于与AD交互的用户的密码
      domain_server: ADDOMAIN															# AD域主机


  - name: Task 2 here      																# 自定义任务2



3、执行

  • No labels