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-ID: 320499

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

Ausgedruckt am: 21.11.2024 um 20:11 Uhr

131381
131381 10.11.2016 aktualisiert um 09:09:11 Uhr
Goto Top
Google mal wieder offline ...
Get-DhcpServerv4Reservation

Gruß
pixel0815
pixel0815 10.11.2016 um 09:34:15 Uhr
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.
pixel0815
pixel0815 10.11.2016 um 09:35:37 Uhr
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
131381
131381 10.11.2016 um 10:45:59 Uhr
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.
colinardo
Lösung colinardo 10.11.2016 aktualisiert um 16:57:43 Uhr
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