DHCP Reservierungen und DNS Host A Einträge miteinander vergleichen und in einer Zeile ausgeben als CSV
Hallo zusammen,
ich versuche via Powershell die DHCP Reservierungen auszulesen und die DNS Host A Einträge, diese sollen dann verglichen werden ob der Host 1234 im DNS vorhanden ist.
Als Ergebnis sollen die Infos vom DHCP Name,Description,IPAddress,ScopeId,ClientId und Hostname und IP Adresse aus dem DNS in jeweils eine Zeile geschrieben werden.
Momentan hab ich da voll ein Hänger und komm da nicht weiter.
Ach ja, beim DHCP steht natürlich noch eine zeichenkette .test.loc im Namen, das wollte ich mit mit .TrimENd weg machen, aber es hat nicht funktioniert.
ich versuche via Powershell die DHCP Reservierungen auszulesen und die DNS Host A Einträge, diese sollen dann verglichen werden ob der Host 1234 im DNS vorhanden ist.
Als Ergebnis sollen die Infos vom DHCP Name,Description,IPAddress,ScopeId,ClientId und Hostname und IP Adresse aus dem DNS in jeweils eine Zeile geschrieben werden.
Momentan hab ich da voll ein Hänger und komm da nicht weiter.
Ach ja, beim DHCP steht natürlich noch eine zeichenkette .test.loc im Namen, das wollte ich mit mit .TrimENd weg machen, aber es hat nicht funktioniert.
# DNS Servername und Domain Suffix
$ServerName = "dc1234"
$domain = "test.loc"
# Ermittlung Hosteinträge
$dnshostdaten= Get-DnsServerResourceRecord -ComputerName $servername -zonename $domain |
? {$_.HostName -like 'PR*' -or $_.HostName -like 'MF*' -or $_.HostName -like 'DR*' -or $_.HostName -like 'PRS*' -or $_.HostName -like 'ZBR*'} | select Hostname, @{n='IP';E={$_.recorddata.IPV4Address}},Timestamp,Recordtype | sort timestamp
$IMPORT_DNS = $dnshostdaten| Where-Object -FilterScript {$_.Hostname -cnotlike '*.test.loc'} |select Hostname, IP | convertto-csv -Delimiter ";" -NoTypeInformation
$IMPORT_DHCP_RESERV= Get-DhcpServerv4Scope -ComputerName $servername| Get-DhcpServerv4Reservation | select Name,Description,IPAddress,ScopeId,ClientId | convertto-csv -Delimiter ";" -NoTypeInformation
$IMPORT_DHCP_RESERV | %{
$dhcp_name = $_.Name
$dhcp_descr = $_.Description
$dhcp_ip = $_.IPAddress
$dhcp_scope = $_.ScopeID
$dhcp_mac = $_.ClientID
#Vergleich von Namen aus der DHCP Reservierung und DNS, bei übereinstimmung sollen die Daten zusammengeführt werden und als eine Zeile ausgegeben werden.
$device = $dnshostdaten|?{($_.Hostname -eq $dhcp_name)}
$dns_host=$dnshostdaten.hostname
$dns_ip =$dnshostdaten.IP
if($device){
$device | select *,@{n='Host';e={$dhcp_name}},@{n='IPAddress';e={$dhcp_ip}},@{n='ScopeID';e={$dhcp_scope}},@{n='MAC';e={$dhcp_mac}},@{n='Beschreibung';e={$dhcp_descr}},@{n='DNS-Host';e={$dns_host}},@{n='DNSIP';e={$dns_ip}}
}else{[pscustomobject]@{NameHost="-NICHT GEFUNDEN - Bitte prüfen-"}}
} |select Host,DNS-Host,IPAddress,DNSIP,ScopeID,MAC,Beschreibung| ft -AutoSize
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 463366
Url: https://administrator.de/contentid/463366
Ausgedruckt am: 24.11.2024 um 10:11 Uhr
2 Kommentare
Neuester Kommentar