Static DNS Records
Mit diesem Skript und einem geplanten Task, kann man sich die statischen DNS Einträge einer Zone per E-Mail zu senden lassen.
Powershell anzeigen
Clear-Host $PathToReport = "C:\Temp" $To = "joern.walter@ndsedv.de" $From = "StaticDNS@ndsedv.de" $SMTPServer = "10.100.10.15" $ZoneName = "ndsedv.de" $DomainController = "dc01" $CurrentDate = Get-Date -Format "dd.MM.yyyy" Function Set-AlternatingRows { [CmdletBinding()] Param( [Parameter(Mandatory=$True,ValueFromPipeline=$True)] [object[]]$HTMLDocument, [Parameter(Mandatory=$True)] [string]$CSSEvenClass, [Parameter(Mandatory=$True)] [string]$CSSOddClass ) Begin { $ClassName = $CSSEvenClass } Process { [string]$Line = $HTMLDocument $Line = $Line.Replace("<tr>","<tr $ClassName"">") If ($ClassName -eq $CSSEvenClass) { $ClassName = $CSSOddClass } Else { $ClassName = $CSSEvenClass } $Line = $Line.Replace("<table>","<table width=""20%"">") Return $Line } } $Header = @" <style> TABLE {border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;} TH {border-width: 1px;padding: 3px;border-style: solid;border-color: black;background-color: #D8E4FA;} TD {border-width: 1px;padding: 3px;border-style: solid;border-color: black;} .odd { background-color:#ffffff; } .even { background-color:#dddddd; } </style> <title>Statische DNS Eintraege aus der Zone $ZoneName Domain vom $CurrentDate</title> "@ $Report = Get-DnsServerResourceRecord -ZoneName $ZoneName -ComputerName $DomainController -RRType A | Where Timestamp -eq $Null | Select -Property HostName,RecordType -ExpandProperty RecordData | Sort-Object -Property HostName $NumberOfRecords = $Report | Measure-Object HostName | Select-Object -Property Count $Report = $Report | Select HostName,RecordType,IPv4Address | ConvertTo-Html -Head $Header -PreContent "<p><h2>Statische DNS Eintraege aus der Zone $ZoneName Domain vom $CurrentDate</h2></p><p><h3>$NumberOfRecords Eintraege erfasst</h3></p>" | Set-AlternatingRows -CSSEvenClass even -CSSOddClass odd $Report | Out-File $PathToReport\Output_AD_GetListStaticARecords.html Send-MailMessage -To $To -From $From -Subject "Statische DNS Eintraege aus der Zone $ZoneName Domain vom $CurrentDate - Joern Walter" -Body ($Report | Out-String) -BodyAsHtml -SmtpServer $SMTPServer Write-Host "Skript Done!" -ForegroundColor Green