利用ansible批量管理windows2008 R2 以上dns服务器
来源:互联网 发布:曲靖医专网络管理系统 编辑:程序博客网 时间:2024/06/11 22:09
准备:安装dns服务器net3.5 PowerShell DnsShell插件用到。DnsShell插件附件里面 ansible 支持环境也要安装的
ansible 目录结构说明:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
.
├── DnsShell
#PowerShell dns支持模块 cp to C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules 正在文件夹
│ ├── DNSShell.dll
│ ├── DnsShell.Format.ps1xml
│ ├── DnsShell.psd1
│ └── en-US
│ └── DnsShell.dll-help.xml
├── dns.yml
# ansible 使用脚本
├── hosts
# 客户机ip存放文件
└── roles
└── dns
├── files
│ └── dns.ps1
# PowerShell 脚本
└── tasks
└── main.yml
# ansible 使用脚本
1
2
3
4
5
6
7
8
9
10
dns.yml 说明:
- hosts: dns
# 执行客户机列表 可设置变量
vars:
#默认参数
parameter: dnszone
#创建主域 (dnszone 添加主域名 A 记录 创建已有域名A 记录 CNAME 添加域名cname 记录 delete 删除域名记录 update 更新域名 )
Domain:
test
.com
# test.com
name: A
# a记录
ipaddress: 192.168.1.1
# 记录ip
ipaddress2: 192.168.1.1
# 修改域名才生效
roles:
- dns
# ansible 执行任务
1
2
3
4
5
6
7
8
main.yml 说明:
- name: sc dns
script: dns.ps1 {{parameter}} {{Domain}} {{name}} {{ipaddress}} {{ipaddress2}}
#参数说明parameter 执行标签判断 例如:添加域名,删除域名,修改域名等
Domain 要操作的域名
name 域名记录 a记录 mx记录等
ipaddress a记录的IP cname 域名
ipaddress2 修改域名解析使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
dns.ps1 说明
# ************************************************************
# * *
# * Powershell部署DNS脚本 *
# * *
# ************************************************************
#set-executionpolicy remotesigned
# 修改dns所用参数
#################################################################################################
#参数申明
param($a,$b,$c,$d,$e)
$parameter=$a
$Domain=$b
$name=$c
$ipaddress=$d
$ipaddress2=$e
#################################################################################################
import
-module dnsshell
# 导入dnsshell 模块
##创建主域
if
($parameter -
eq
"dnszone"
)
{
new-dnszone -zonename $Domain -zonetype primary
}
## 添加A记录
elseif ($parameter -
eq
"A"
)
{
new-dnsrecord -zonename $Domain -name $name -recordtype A -ipaddress $ipaddress
}
##添加CNAME记录
elseif ($parameter -
eq
"CNAME"
)
{
new-dnsrecord -zonename $Domain -name $name -recordtype CNAME -
hostname
$ipaddress
}
## 删除dns记录
elseif ($parameter -
eq
"delete"
)
{
$ARecord = Get-WmiObject -Namespace root\MicrosoftDNS -class MicrosoftDNS_ResourceRecord -filter
"containername='$Domain' AND OwnerName='$name.$Domain' and RecordData='$ipaddress'"
$ARecord.delete()
}
## 更新dns记录
elseif ($parameter -
eq
"update"
)
{
$ARecord = Get-WmiObject -Namespace root\MicrosoftDNS -class MicrosoftDNS_ResourceRecord -filter
"containername='$Domain' AND OwnerName='$name.$Domain' and RecordData='$ipaddress'"
$ARecord.Modify($ARecord.TTL,
"$ipaddress2"
)
}
else
{
exit
}
其它说明:
1
2
3
4
5
6
7
8
9
10
11
12
添加主域名:ansible-playbook -i hosts dns.yml -verbose --extra-vars
"parameter=dnszone Domain=test.com"
添加 A记录
ansible-playbook -i hosts dns.yml -verbose --extra-vars
"parameter=A Domain=test.com name=www ipaddress=192.168.1.1"
添加 cname记录
ansible-playbook -i hosts dns.yml -verbose --extra-vars "parameter=cname Domain=
test
.com name=
test
ipaddress=
删减记录:
ansible-playbook -i hosts dns.yml -verbose --extra-vars
"parameter=deleteDomain=test.com name=www ipaddress=192.168.1.1"
ansible-playbook -i hosts dns.yml -verbose --extra-vars "parameter=delete Domain=
test
.com name=
test
ipaddress=www.
test
.com.
# 点不能取消
更新记录
ansible-playbook -i hosts dns.yml -verbose --extra-vars
"parameter=update Domain=test.com name=www ipaddress=192.168.1.1 ipaddress2=192.168.1.2"
ansible-playbook -i hosts dns.yml -verbose --extra-vars
"parameter=update Domain=test.com name=test ipaddress=www.test.com. ipaddress2=www.test2www.test.com.com."
0 0
- 利用ansible批量管理windows2008 R2 以上dns服务器
- 利用func批量管理服务器
- Windows2008 R2服务器配置TLS1.2方法
- Windows2008 R2服务器配置TLS1.2方法
- Windows2008 R2服务器配置TLS1.2方法
- ansible批量设置服务器免密码登录
- DNS漏洞的批量利用
- windows server 2012R2 配置DNS服务器
- windows2008 R2(1)
- Windows2008 R2生成SID
- windows2008 r2多用户远程桌面
- CheungSSH比Ansible更优秀的Linux SSH批量管理服务器 执行命令上传下载自动化运维工具
- Ansible管理windows服务器-windows配置
- pssh 服务器批量管理
- windows2008 r2,安装扫描仪驱动
- windows2008 R2 安装cygwin +gitolite
- Windows2008 R2配置FTP教程
- 2-5管理DNS服务器
- 面试PHP的尴尬经历以及今后的职业规划
- CSS篇之 4. position 和 display 的取值和各自的意思和用法
- 继承关系中构造方法的调用
- SQL--上机三--两表内连接查询信息
- 公司-->显示效果,多出来的用...
- 利用ansible批量管理windows2008 R2 以上dns服务器
- oracle 11g安装时未能满足某些最低安装要求
- sokcs5软件dante配置指南
- java,gson试用,打印java对象树json格式
- AngularJS 0003: 指令
- live2d+cocos2dx示例工程
- 基于注解的 Spring MVC详解
- Win10下 Gulp,Browser-sync 入门
- 图示几种基本排序的平均时间效率