pixel0815
Goto Top

Powershell + dhcp auf einem 2012 R2 Server

Moin zusammen,

ich suche nach einer einfachen Möglichkeit auf einem DHCP Server ( Failover ist konfiguriert ) die Reservierungen auszulesen (als CSV Exportieren ), als CSV bearbeiten (Mac Adressen werden meistens geändert, oder einfach eine neue Reservierung anlegen ) und dann wieder einzuspielen. Hat sowas schon einmal einer von euch gemacht?

Beste Grüße
P.

Content-Key: 320499

Url: https://administrator.de/contentid/320499

Printed on: April 28, 2024 at 00:04 o'clock

Mitglied: 131381
131381 Nov 10, 2016 updated at 08:09:11 (UTC)
Goto Top
Google mal wieder offline ...
Get-DhcpServerv4Reservation

Gruß
Member: pixel0815
pixel0815 Nov 10, 2016 at 08:34:15 (UTC)
Goto Top
Jaja bin da auch schon schlauer ;)
Allerdings ist es interessant das ich eine Fehlermeldung bekomme bei jeder von einer Reservierung die von einer Lease konvertiert wurde.
Alle von Hand erstellten Reservierungen funktionieren ohne Probleme.
Member: pixel0815
pixel0815 Nov 10, 2016 at 08:35:37 (UTC)
Goto Top
Ohne CSV gehts auch ganz gut.

$IPAdresse = Read-Host -Prompt 'Bitte gebe die IP Adresse der Reservierung ein'  
$MAC= Read-Host -Prompt 'Bitte gebe die MAC ein'  

#$DHCPRemoteAddress = Test-NetConnection -Hops 1 $IPAdresse
#Get-DhcpServerv4Reservation -IPAddress $DHCPRemoteAddress.RemoteAddress | Set-DhcpServerv4Reservation -ClientId $Mac -Verbose


Get-DhcpServerv4Reservation -IPAddress $IPAdresse | Set-DhcpServerv4Reservation -ClientId $Mac -Verbose
#Ergebnis checken in der Konsole
Get-DhcpServerv4Reservation -IPAddress $IPAdresse

#Failover Replizieren
#Invoke-DhcpServerv4FailoverReplication -Force
Mitglied: 131381
131381 Nov 10, 2016 at 09:45:59 (UTC)
Goto Top
Allerdings ist es interessant das ich eine Fehlermeldung bekomme bei jeder von einer Reservierung die von einer Lease konvertiert wurde.
Wow echt interessant die Fehlermeldung ??!! Ist schon wieder Freitag?
Ohne CSV gehts auch ganz gut.
Einfach die zu exportierenden Einträge mit select die zu exportierenden Eigenschaften selektieren und an Export-CSV pipen, fertig. Beim einlesen umgekehrt jeden Eintrag checken ob es einen Eintrag gibt wenn ja mit Set-.... ändern ansonsten mit Add-... anlegen, fertig.

Da macht dir ein Powershell-Azubi in 10 Minuten wenn du ihm die CMDLet Liste gibst.
Member: colinardo
Solution colinardo Nov 10, 2016 updated at 15:57:43 (UTC)
Goto Top
Servus Pixel,
keine große Sache ...

Z.B. so (Pfad zur CSV anpassen):

back-to-topExport:
$exportpath = ".\reservations.csv"  
# Export Reservations
Get-DhcpServerv4Scope | Get-DhcpServerv4Reservation | select Name,Description,IPAddress,ScopeId,ClientId | export-csv $exportpath -Delim ";" -NoType -Encoding UTF8  

back-to-topImport
$importpath = ".\reservations.csv"  
Import-CSV $importpath -Delimiter ";" | %{  
    $reservation = Get-DhcpServerv4Reservation -IPAddress $_.IPAddress -EA SilentlyContinue
    if (!$reservation){
        Add-DhcpServerv4Reservation -ScopeId $_.Scopeid -IPAddress $_.IPAddress -ClientId $_.ClientID -Name $_.Name -Description $_.Description -Verbose
    }else{
        $reservation | Set-DhcpServerv4Reservation -ClientId $_.ClientId -Name $_.Name -Description $_.Description -Verbose
    }
}
Grüße Uwe