justin_p.pdc
ansible-role-pdc
该角色将创建一个全新的主域控制器(PDC)及其活动目录域/森林。没有进行安全加固。
基于 @jborean93 在 jborean93/ansible-windows 中完成的工作。
适用于
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012R2
需求
- 需要
python3-winrm
(pywinrm
) 来支持 WinRM。
角色变量
defaults/main.yml
变量 | 描述 | 默认值 |
---|---|---|
pdc_administrator_username | 设置为内置管理员帐户,确保我们知道 NETBIOS\Administrator 的密码。通常建议保留默认值。 | Administrator |
pdc_administrator_password | 内置管理员帐户的密码。如果 pdc_administrator_username 保持默认值,则该密码将成为 NETBIOS\Administrator 的密码。请将此更改为强密码。 | P@ssw0rd! |
pdc_dns_nics | 要设置 DNS 的以太网适配器的名称。默认值为通配符。通常建议保留默认值。 | * |
pdc_dns_servers | pdc_dns_nics 中使用的 DNS 服务器。默认值为 {{ ansible_host }} 。通常建议保留默认值。 |
{{ ansible_host }} |
pdc_domain | 新活动目录森林的域。建议在测试/实验环境中使用 ad.domain.test。在生产环境中,建议使用现有域及其 ad 子域:ad.domain.tld |
ad.example.test |
pdc_netbios | 新活动目录森林的 NetBIOS。根据需要进行更改。 | TEST |
pdc_domain_path | 域的区分名称。此值应与 pdc_domain 中给出的值匹配(例如:dc=ad,dc=domain,dc=test )。 |
dc=ad,dc=example,dc=test |
pdc_domain_safe_mode_password | 域安全模式密码。请将此更改为强密码。 | P@ssw0rd! |
pdc_domain_functional_level | 指定新森林中第一个域的域功能级别。域功能级别不能低于森林功能级别,但可以更高。根据需要进行更改。 | 默认值 (Windows2008R2) |
pdc_forest_functional_level | 指定新森林的森林功能级别。Windows Server 中的默认森林功能级别通常与您正在使用的版本相同。根据需要进行更改。 | 默认值 (Windows2008R2) |
pdc_required_psmodules | 需要从 PSGallery 安装的 PowerShell/DSC 模块。始终确保包含 ActiveDirectoryDsc 以进行 WaitForAD 检查。通常建议保留默认值。 |
[xPSDesiredStateConfiguration, NetworkingDsc, ComputerManagementDsc, ActiveDirectoryDsc] |
pdc_required_features | 应该在域控制器上安装的 Windows 特性。默认值为 AD 域服务和 DNS。通常建议保留默认值。 | ["AD-domain-services", "DNS"] |
pdc_desired_dns_forwarders | PDC 的期望 DNS 转发器。默认为 Google DNS。根据需要进行更改。 | ["8.8.8.8", "8.8.4.4"] |
依赖关系
- Windows 主机上的 WinRM 应配置为支持 Ansible。
- justin_p.posh5
- justin_p.wincom
示例剧本
- hosts: primary_domain_controller
roles:
- role: justin_p.posh5
- role: justin_p.wincom
- role: justin_p.pdc
请参阅 这里 获取示例清单。
本地开发
此角色包含一个 Vagrantfile,将在 Virtualbox 中启动一个本地 Windows Server 2019 虚拟机。
创建虚拟机后,它将自动运行我们的角色。
开发需求
pip3 install pywinrm
使用方法
- 运行
vagrant up
创建虚拟机并运行我们的角色。 - 运行
vagrant provision
重新应用我们的角色。 - 运行
vagrant destroy -f && vagrant up
重新创建虚拟机并运行我们的角色。 - 运行
vagrant destroy
移除虚拟机。
许可证
MIT
作者
- Justin Perdok (@justin-p), Orange Cyberdefense
贡献
欢迎随时提出问题、贡献和提交您的 Pull Requests。您也可以在 Twitter 上联系我 (@JustinPerdok)。
关于项目
Setup a Primary Domain Controller and Active Directory on a Windows Server.
安装
ansible-galaxy install justin_p.pdc
许可证
mit
下载
258
拥有者
IT Geek, Ethical Hacker, DevOps Nut, PowerShell Fanatic and lover of beers :beers: