DHCP MAC-Filter-Liste mit den Hostnamen der Leases abgleichen
Erläuterung
Hier werden alle aktuellen Addressleases, die unter Filterprofil „Allow“ oder „Zugelassen“ haben, gelesen und mit den Einträgen in der MAC-Filter-Liste „Allow“ oder „Zugelassen“ verglichen.
Im Detail wird die Lease-MAC (Reservierung aktiv oder inaktiv mit inbegriffen) in der MAC-Filter-Liste gesucht und der aktuelle Hostname der Lease in die Beschreibung des MAC-Eintrags aktualisiert.
Problembeschreibung
Die MAC-Filter-Liste die die MAC-Adressen mit „Allow“ oder „Deny“ (Zulassen oder Verweigern) aktualisiert nie ihre Beschreibung, wenn der Client z.B. sein Hostname ändert.
Download
Refesh "DHCP Allow Filter" Description
1 Datei(en) 1.89 KB
Parameter
$strDHCPSRV = ‚Servername‘
$strScopeID = ‚10.1.0.0‘
Skript-Voraussetzungen
- Modul -> DhcpServer
Skript
<# Jan Weis www.it-explorations.de v0.1 Dieses Skript liest alle aktuellen Leases und vergleicht in der MAC-FILTER-ALLOW Liste den Eintrag der passenden MAC und aktualisiert die Beschreibung mit dem aktuellen Hostname aus der Addressleases-Liste, falls nötig. Leere Lease-Hostname werden ignoriert #> # --- VARIABLEN --- # $strDHCPSRV = 'server.domäne.local' $strScopeID = '10.1.0.0' # --- SKRIPT --- # $objDHCPLeases = Get-DhcpServerv4Lease -ComputerName $strDHCPSRV -ScopeId $strScopeID | Where-Object {$_.HostName -notlike ''} $objDHCPFilter = Get-DhcpServerv4Filter -ComputerName $strDHCPSRV # Zähler Write-Host "[ Es werden $($objDHCPLeases.Count) Leases mit den MAC-Filter-Einträgen abgeglichen.. Bitte warten.. ]" -ForegroundColor Yellow Foreach ($objDHCPLeaseItem in $objDHCPLeases) { $objDHCPLeaseItemHostName = $objDHCPLeaseItem.HostName $objDHCPLeaseItemMAC = $objDHCPLeaseItem.ClientId # Prüft ob ein passender Eintrag in der MAC-Filter-Liste gefunden wird $objDHCPFilterItem = $objDHCPFilter | Where-Object {$_.MacAddress -eq $objDHCPLeaseItemMAC -and $_.List -match 'Allow'} if ($objDHCPFilterItem) { # Vergleiche MAC-Filter-Eintragsbeschreibung mit dem Hostname der Lease if ($objDHCPFilterItem.Description -notlike $objDHCPLeaseItemHostName) { # DHCP-Beschreibung stimmt nicht überein! Anpassungen werden durchgeführt! Remove-DhcpServerv4Filter -ComputerName $strDHCPSRV -MacAddress $($objDHCPFilterItem.MacAddress) Add-DhcpServerv4Filter -ComputerName $strDHCPSRV -list Allow -Description $objDHCPLeaseItemHostName -MacAddress $objDHCPLeaseItemMAC # Ausgabe Write-Information ":: MAC:$($objDHCPFilterItem.MacAddress); Beschreibung von '$($objDHCPFilterItem.Description)' nach '$objDHCPLeaseItemHostName' angepasst!" } } }