PowerShell导出所有DNS记录

网友投稿 1155 2022-09-18

PowerShell导出所有DNS记录

PowerShell导出所有DNS记录

1、导出脚本

function Get-AllDnsResourceRecords{ [CmdletBinding()] param( [Parameter(Position=0)] [String]$DNSServer) $Zones = @(Get-DnsServerZone -ComputerName $DNSServer) $Data = @() ForEach ($Zone in $Zones) { ($Zone | Get-DnsServerResourceRecord -ComputerName $DNSServer) | ` Select-Object -Property ` @{Label="Zone Name";expression={( $Zone.ZoneName )}},` DistinguishedName,` HostName,` RecordClass,` RecordType,` Timestamp,` TimeToLive,` @{label="Data";expression={ $r = $_.RecordData switch ($_.RecordType) { "A" { $r.IPv4Address.IPAddressToString } "NS" { $r.NameServer } "SOA" { "ExpireLimit=$($r.ExpireLimit);"+ "MinimumTimeToLive=$($r.MinimumTimeToLive);"+ "PrimaryServer=$($r.PrimaryServer);"+ "RefreshInterval=$($r.RefreshInterval);"+ "ResponsiblePerson=$($r.ResponsiblePerson);"+ "RetryDelay=$($r.RetryDelay);"+ "SerialNumber=$($r.SerialNumber)" } "CNAME" { $r.HostNameAlias } "SRV"{ "DomainName=$($r.DomainName);"+ "Port=$($r.Port);"+ "Priority=$($r.Priority);"+ "Weight=$($r.Weight)" } "AAAA" { $r.IPv6Address.IPAddressToString } "PTR" { $r.PtrDomainName } "MX" { "MailExchange=$($r.MailExchange);"+ "Prefreence=$($r.Preference)" } "TXT" { $r.DescriptiveText } Default { "Unsupported Record Type" } }} } } }

2、使用

Get-AllDnsResourceRecords -DnsServer DnsServerIP或DnsServerName | Export-Csv -NoTypeInformation -Path C:\Users\xxxxx\Desktop\DnsRecords.csv -Encoding UTF8

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:通过Exchange导出公司员工使用的手机型号
下一篇:15. 面向对象编程:接口与多态
相关文章

 发表评论

暂时没有评论,来抢沙发吧~