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
Please also mark the comments that contributed to the solution of the article
Content-Key: 463366
Url: https://administrator.de/contentid/463366
Printed on: April 24, 2024 at 23:04 o'clock
2 Comments
Latest comment