PowerShellオペレーションDNS SRVレコードの作成
4037 ワード
需要源:ある組織のActive Directoryドメインで、その中の一部のドメインコントローラのSRV記録は理由もなく失われ、dcdiagがdnsを検査したとき、たくさんの報告ミスを発見し、報告ミスを見たらほとんどやりたくない、本当に多すぎる......
PowerShellはAレコードとDNSレコードを迅速に作成できます.
標準的なSRV記録を見てみましょう
注意してみましょう.役に立つところは次のような行です.
まず説明するのは容器名ですが、ここでは主に注意して、msdcsという容器です.またdnsservernameは、現在動作する必要があるドメインコントローラ名です.
TextRepresentation:kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.contoso.com IN SRV 0 100 88 dc2.contoso.com. この文には、手動で入力するすべての情報が含まれています.
我々は一言を構築し,最後の一言で目標機能を実現した.
最後に、5大ロール以外のドメインコントローラでdcdiag/test:dns/s:domainname/vを実行して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