Chcesz mieć kopię zapasową wszystkich rekordów DNS z systemu Windows DNS. Menedżer DNS ma bardzo ograniczone możliwości w zakresie takiego eksportu. Jedynym sposobem na dobry eksport rekordów DNS jest użycie programu PowerShell. W tym artykule dowiesz się, jak wyeksportować rekordy DNS do pliku CSV za pomocą PowerShell.
Eksportuj pojedynczą strefę DNS z Menedżera DNS
Przyjrzyjmy się, jak wyeksportować wszystkie rekordy z pojedynczej strefy DNS w Menedżerze DNS:
- OtwarteMenedżer DNS
- Kliknij prawym przyciskiem myszy astrefa
- WybieraćEksportuj listę…

- Nadaj nazwę plikowi eksportu
- Zapisz jako typTekst (rozdzielany przecinkami) (*.csv)
- TrzaskRatować

- Otwórz plik CSV za pomocą programu Microsoft Excel lub innego programu

Eksportowanie pojedynczej strefy z Menedżera DNS jest szybkie. Wartości pliku CSV pokazują te same wartości, co Menedżer DNS. Jedynym problemem jest to, że kolumny nie są wyświetlane tak, jak powinny, gdy w pliku znajduje się przecinek (,).
Dowiedz się więcej:Jak korzystać z eksportu CSV w PowerShell
Wyeksportuj wszystkie strefy wyszukiwania do przodu z Menedżera DNS
Aby wyeksportować wszystkie rekordy stref DNS wyszukiwania do przodu z menedżera DNS:
- OtwarteMenedżer DNS
- Kliknij prawym przyciskiem myszy astrefa
- WybieraćEksportuj listę…

- Nadaj nazwę plikowi eksportu
- Zapisz jako typTekst (rozdzielany przecinkami) (*.csv)
- TrzaskRatować

- Otwórz plik CSV za pomocą programu Microsoft Excel lub innego programu

Dużym problemem jest to, że nie wyświetla żadnych rekordów DNS. Dlatego musisz wyeksportować każdą strefę serwera DNS indywidualnie z Menedżera DNS, aby zobaczyć rekordy.
A co jeśli chcesz mieć inną nieruchomość? Na przykład właściwość Time to Live doskonale nadaje się do eksportu. Jedynym sposobem na osiągnięcie tego jest użycie programu PowerShell. Przyjrzyjmy się temu w następnym kroku.
Doskonałym sposobem na wyeksportowanie rekordów z pojedynczej strefy DNS do pliku CSV jest użycie skryptu PowerShell. Będzie korzystać zPobierz DnsServerResourceRecordcmdlet, aby pobrać rekordy zasobów DNS z określonej strefy.
Notatka:Skrypt PowerShell wyeksportuje również rekord DNSCzas żyć(TTL) właściwość. Możesz to łatwo sprawdzić w pliku CSV. Czas życia pojawia się w kolumnie jako całkowita liczba sekund.
- Uruchom Windows PowerShell ISE jako administrator
- Skopiuj i wklej poniższy skrypt w PowerShell
- Zmień nazwę strefy DNS nalinia 2
- Uruchom skrypt PS
$Report = [System.Collections.Generic.List[Object]]::new()
$zoneName = "autodiscover.exoip.com"
$zoneInfo = Get-DnsServerResourceRecord -ZoneName $zoneName
foreach ($info in $zoneInfo) {
$timestamp = if ($info.Timestamp) { $info.Timestamp } else { "static" }
$timetolive = $info.TimeToLive.TotalSeconds
$recordData = switch ($info.RecordType) {
'A' { $info.RecordData.IPv4Address }
'CNAME' { $info.RecordData.HostnameAlias }
'NS' { $info.RecordData.NameServer }
'SOA' { "[$($info.RecordData.SerialNumber)] $($info.RecordData.PrimaryServer), $($info.RecordData.ResponsiblePerson)" }
'SRV' { $info.RecordData.DomainName }
'PTR' { $info.RecordData.PtrDomainName }
'MX' { $info.RecordData.MailExchange }
'AAAA' { $info.RecordData.IPv6Address }
'TXT' { $info.RecordData.DescriptiveText }
default { $null }
}
$ReportLine = [PSCustomObject]@{
Name = $zoneName
Hostname = $info.Hostname
Type = $info.RecordType
Data = $recordData
Timestamp = $timestamp
TimeToLive = $timetolive
}
$Report.Add($ReportLine)
}
$Report | Export-Csv "C:tempSingleDNSZoneRecords.csv" -NoTypeInformation -Encoding utf8Eksport pliku CSV będzie możliwyC:temp. Oto jak wygląda plik CSV.

Przejście przez wszystkie strefy i wyeksportowanie ich wymaga czasu. Jest to przydatne, jeśli chcesz wyeksportować tylko jedną strefę serwera DNS, ale nie, jeśli zamierzasz wyeksportować wszystkie rekordy stref DNS.
Eksportuj wszystkie rekordy stref DNS do pliku CSV za pomocą programu PowerShell
Aby wyeksportować wszystkie rekordy stref DNS, uruchom poniższy skrypt PowerShell. Będzie korzystać zPobierz DnsServerZonecmdlet do pobrania stref DNS na serwerze DNS i plikuPobierz DnsServerResourceRecordcmdlet, aby pobrać rekordy zasobów DNS ze wszystkich stref.
Skrypt przejdzie przez obie strefy DNS systemu Windows:
- Strefy wyszukiwania do przodu
- Strefy wyszukiwania wstecznego
$Report = [System.Collections.Generic.List[Object]]::new()
$zones = Get-DnsServerZone
foreach ($zone in $zones) {
$zoneInfo = Get-DnsServerResourceRecord -ZoneName $zone.ZoneName
foreach ($info in $zoneInfo) {
$timestamp = if ($info.Timestamp) { $info.Timestamp } else { "static" }
$timetolive = $info.TimeToLive.TotalSeconds
$recordData = switch ($info.RecordType) {
'A' { $info.RecordData.IPv4Address }
'CNAME' { $info.RecordData.HostnameAlias }
'NS' { $info.RecordData.NameServer }
'SOA' { "[$($info.RecordData.SerialNumber)] $($info.RecordData.PrimaryServer), $($info.RecordData.ResponsiblePerson)" }
'SRV' { $info.RecordData.DomainName }
'PTR' { $info.RecordData.PtrDomainName }
'MX' { $info.RecordData.MailExchange }
'AAAA' { $info.RecordData.IPv6Address }
'TXT' { $info.RecordData.DescriptiveText }
default { $null }
}
$ReportLine = [PSCustomObject]@{
Name = $zone.ZoneName
Hostname = $info.Hostname
Type = $info.RecordType
Data = $recordData
Timestamp = $timestamp
TimeToLive = $timetolive
}
$Report.Add($ReportLine)
}
}
$Report | Export-Csv "C:tempAllDNSZonesRecords.csv" -NoTypeInformation -Encoding utf8Wyeksportuje wszystkie rekordy DNS do pliku CSVC:temp. Tak wygląda plik CSV.

To wszystko!
Wniosek
Nauczyłeś się, jak eksportować rekordy DNS do pliku CSV za pomocą programu PowerShell. Eksportowanie rekordów DNS za pomocą Menedżera DNS wiąże się z ograniczeniami. Dzięki PowerShell możesz dostosować wyniki eksportu do swoich upodobań. Zawsze dobrze jest mieć kopię zapasową rekordów DNS przed wprowadzeniem znaczących zmian. Skrypt PowerShell zaspokoi Twoje potrzeby.
Czy podobał Ci się ten artykuł? Możesz także polubić sprawdzanie stanu usługi Active Directory za pomocą skryptu PowerShell. Nie zapomnij nas obserwować i udostępnić ten artykuł.











![[Recenzja] Która usługa DTH zapewnia maksymalne kanały HD w Indiach](https://media.askvg.com/articles/images7/Indian_DTH_Services_HD_Channels_Count.png)

