需求来源:某个组织的Active Directory域,其中的一部分域控制器的SRV记录会无缘无故的丢掉,dcdiag检查dns的时候,发现一大堆报错,看到报错基本就不想弄了,实在太多……

PowerShell可以快速的创建A记录和DNS记录。

我们看一下标准的SRV记录是什么样子的

PS C:\>Get-WmiObject -Namespace root\MicrosoftDNS -class microsoftdns_srvtype | ? {$_.DnsServerName -eq "dc.contoso.com"}__GENUS            : 2
__CLASS            : MicrosoftDNS_SRVType
__SUPERCLASS       : MicrosoftDNS_ResourceRecord
__DYNASTY          : CIM_ManagedSystemElement
__RELPATH          : MicrosoftDNS_SRVType.ContainerName="_msdcs.contoso.com",DnsServerName="DC.contoso.com",DomainName="_tcp.Default-First-Site-Name._sites.dc._msdcs.contoso.com",OwnerName="_kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.contoso.com",RecordClass=1,RecordData="0 100 88 dc2.contoso.com."
__PROPERTY_COUNT   : 18
__DERIVATION       : {MicrosoftDNS_ResourceRecord, CIM_LogicalElement, CIM_ManagedSystemElement}
__SERVER           : DC
__NAMESPACE        : root\MicrosoftDNS
__PATH             : \\DC\root\MicrosoftDNS:MicrosoftDNS_SRVType.ContainerName="_msdcs.contoso.com",DnsServerName="DC.contoso.com",DomainName="_tcp.Default-First-Site-Name._sites.dc._msdcs.contoso.com",OwnerName="_kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.contoso.com",RecordClass=1,RecordData="0 100 88 dc2.contoso.com."
Caption            :
ContainerName      : _msdcs.contoso.com
Description        :
DnsServerName      : DC.contoso.com
DomainName         : _tcp.Default-First-Site-Name._sites.dc._msdcs.contoso.com
InstallDate        :
Name               :
OwnerName          : _kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.contoso.com
Port               : 88
Priority           : 0
RecordClass        : 1
RecordData         : 0 100 88 dc2.contoso.com.
SRVDomainName      : dc2.contoso.com.
Status             :
TextRepresentation : _kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.contoso.com IN SRV 0 100 88 dc2.contoso.com.
Timestamp          : 3633513
TTL                : 600
Weight             : 100
PSComputerName     : DC

我们注意一下,有用的地方是如下几行

ContainerName      : _msdcs.contoso.com
DnsServerName      : DC.contoso.com
OwnerName          : _kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.contoso.com
RecordData         : 0 100 88 dc2.contoso.com.
TextRepresentation : _kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.contoso.com IN SRV 0 100 88 dc2.contoso.com.

首先要说明的就是容器名,这里主要是注意,msdcs这个容器。另外dnsservername就是当前需要操作的域控制器名。

在TextRepresentation : _kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.contoso.com IN SRV 0 100 88 dc2.contoso.com. 这句中,则包含了我们要手动输入的所有信息。

我们构造一句话,最后一句就实现了目标功能

$dnsServerName="dc.contoso.com"
$containerName="_msdcs.contoso.com"
$mydns = [WMIClass]"ROOT\MicrosoftDNS:MicrosoftDNS_ResourceRecord"
$mydns.CreateInstanceFromTextRepresentation($dnsServerName,$containerName,_kerberos._tcp.Default-First-Site-Name._sites IN SRV 0 100 88 dc3332.contoso.com.)

最后再来完善一下,在非5大角色的域控制器上运行 dcdiag /test:dns /s:domainname /v 看一下dns输出记录。可以添加相应条目

#脚本需要在PowerShell中运行,首先打开cmd,然后输入PowerShell。 最后在脚本当前目录,输入   .\xxxx.ps1
$hostdc= Read-Host “(请输入需要添加SRV记录的域控制器的netbios名)”
$dnsServerName="dc.contoso.com"
$containerName="_msdcs.contoso.com"
$containerName2="contoso.com"
$site ="Default-First-Site-Name" #此处输入站点名
$mydns = [WMIClass]"ROOT\MicrosoftDNS:MicrosoftDNS_ResourceRecord"
#增加 “DC”“站点”中的kerberos的tcp srv记录
$mydns.CreateInstanceFromTextRepresentation($dnsServerName,$containerName,"_kerberos._tcp.$site._sites.dc IN SRV 0 100 88 $hostdc")|select RR
#增加“GC”“站点”中的tcp ldap记录
$mydns.CreateInstanceFromTextRepresentation($dnsServerName,$containerName,"_ldap._tcp.$site._sites.gc IN SRV 0 100 88 $hostdc")|select RR

PowerShell操作DNS创建SRV记录相关推荐

  1. 使用nslookup验证DNS的SRV记录

    DNS集成区域安装完成后,需要确认Active Directory安装运行是否正常.在安装过程中一项最重要的工作是在DNS数据库中添加服务记录(SRV记录).SRV记录是一个域名系统(DNS)资源记录 ...

  2. 活动目录向DNS注册SRV记录不成功的原因

    SRV记录注册不成功的可能的原因 默认情况,安装完活动目录就会DNS中的SRV记录就注册成功了,如果您在域控制器上重启Netlogon服务,有可能还是不能注册SRV记录到DNS服务器上,以下是总结的需 ...

  3. 关于活动目录中DNS没有SRV记录的解决方法

    我们通常利用DCPROMO创建了活动目录后,在运行 Microsoft DNS 服务的服务器上安装 Active Directory 后,您可以使用"DNS 管理器 Microsoft 管理 ...

  4. 在DNS服务器上动态注册失败,活动目录向DNS注册SRV记录不成功的原因

    SRV记录注册不成功的可能的原因 默认情况,安装完活动目录就会DNS中的SRV记录就注册成功了,如果您在域控制器上重启Netlogon服务,有可能还是不能注册SRV记录到DNS服务器上,以下是总结的需 ...

  5. linux dns配置srv记录,一个关于MS AD + Bind DNS的棘手问题--SRV记录

    SRV 记录本是一个域名系统 (DNS) 资源记录,用于标识承载特定服务的计算机.SRV 资源记录用于定位 Active Directory 的域控制器.要验证域控制器的 SRV 定位器资源记录.在这 ...

  6. 域控制器无法向DNS注册SRV记录解决办法

    转载自:https://blog.51cto.com/sxct168/1265374 方法是否有效: 我在windows server 2016 上成功用这个方法解决了问题 下面是转载的内容: 安装完 ...

  7. java之解析DNS的SRV记录

    1.导入相应的jar包 导入sjava-2.1.6.jar包,今天上传资源有问题,下次传了之后再补充到这里. 2.关键代码 public static List<String> resov ...

  8. java获取dns记录_java之解析DNS的SRV记录

    1.导入相应的jar包 导入sjava-2.1.6.jar包,今天上传资源有问题,下次传了之后再补充到这里. 2.关键代码 public static List resoveSrv(String qu ...

  9. ImageJ分割中央凹无血管区操作、创建宏--记录操作、图像批处理并保存

    目录 基础操作 颜色分离 减去背景 阈值分割image--auto threshold--try all 将分割后的图像加到原

最新文章

  1. OPENGFILER存储柜
  2. [转]桌面任务栏时间显示为yyyy-M-d,
  3. Redis高可用基石--主从同步
  4. javascript 之作用域-06
  5. SonarQube启动报错:WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedExcepti
  6. 主从复制面试之作用和原理
  7. 【LeetCode 剑指offer刷题】数组题11:228. Summary Ranges
  8. qtreeview 点击二级节点弹出dialog_2019二级造价师开卷考?一顿操作猛如虎,一看分数59...
  9. adodb 连接mysql_PHP程序中使用adodb连接不同数据库的代码实例
  10. jsp小区停车位管理系统
  11. HDP直播个性化设置教程,简单几步提升电视盒子/投影仪观影体验
  12. python小玩意——性格测试
  13. java 数据周期预测_预测算法 | Holt Winter季节性指数平滑法 附JAVA代码
  14. 人脸识别(Facenet)
  15. 一个即成功又失败的敏捷实践
  16. 售前成本评估你做对了吗?
  17. 寺库拟私有化:报价较发行价缩水75%,趣店为第一大股东
  18. [CS15] Fast and Accurate Recurrent Neural Network Acoustic Models for Speech Recognition-Has¸im Sak
  19. vue项目引入高德地图(定位、搜索、经纬度解析地址)
  20. GAN学习指南(通俗易懂):从原理入门到制作生成Demo

热门文章

  1. bim建筑绘图计算机要求,bim考试相关要求
  2. java基础语法-循环switch语句
  3. 《炬丰科技-半导体工艺》多通道晶圆缺陷检测方法
  4. spark graphx从txt文件中读数据构建图
  5. 计算机的任务管理器不显示不出来,任务管理器显示不全,小编教你电脑任务管理器显示不全怎么解决...
  6. PHP Framework 数据库框架 Medoo 2.1:使用 Medoo 连接MYSQL数据库
  7. linux下抓管理员hash,Linux下抓取登陆用户密码神器mimipenguin
  8. 用python生成邮件正文html表格
  9. 文本溢出处理和文本首行空两格解决办法
  10. 全球最厉害的14位程序员,大神收下我的膝盖