码迷,mamicode.com
首页 > 系统相关 > 详细

PowerShell操作DNS创建SRV记录

时间:2015-07-08 22:54:55      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:powershell   adsi   active directory域   

需求来源:某个组织的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.)



本文出自 “九叔-微软私有云” 博客,请务必保留此出处http://jiushu.blog.51cto.com/972756/1672103

PowerShell操作DNS创建SRV记录

标签:powershell   adsi   active directory域   

原文地址:http://jiushu.blog.51cto.com/972756/1672103

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!