Neopolis 19 Geschrieben 8. Mai Melden Teilen Geschrieben 8. Mai Hallo zusammen, ich muss den alten DHCP Server ablösen und alle Bereiche auf einen neuen DHCP Server umziehen. Der alte DHCP Server ist ein Linuxsystem und dort bekomme ich von einem Kollegen eine CSV Datei als Export von den alten Bereichen die dort angelegt sind. das sind über 100 Stück. Der neue DHCP ist ein Windows Server 2022 Core Cluster (also ohne Desktop) Ich tu mich echt schwer damit und habe gestern den ganzen Tag rumprobiert. Das habe ich verwendet um einen Export zu testen: Get-DhcpServerv4Scope -ComputerName "servername.meinedomaene.lan" | Export "c:\temp\exportScopeOptions.csv" -Delimiter ";" Fehlermeldung: PS C:\WINDOWS\system32> C:\temp\dhcp_auslesen.ps1 Export : Die Benennung "Export" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang. In C:\temp\dhcp_auslesen.ps1:1 Zeichen:63 + ... pServerv4Scope -ComputerName "servername.meinedomaene.lan" | Export "c:\tem ... + ~~~~~~ + CategoryInfo : ObjectNotFound: (Export:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException Ich habe die Powershell bei mir am PC als Administrator geöffnet. Dieser Benutzer hat auch Zugriff auf den DHCP Server. Über mmc kann ich mich problemlos verbinden und Konfigurationen vornehmen. Zum Importieren wollte ich das hernehmen: $dhcpserver = "servername.meinedomaene.lan" $scopes = Import-Csv -Path "c:\temp\ScopeReservation.csv" -Delimiter ";" foreach ($scope in $scopes) { $name = $scope.name $description = $scope.description Write-Output "Creating scope $name" Add-DhcpServerv4Reservation -ComputerName $dhcpserver -ScopeId $scope.ScopeId -IPAddress $scope.IPAddress -Description $scope.description -Name $scope.name -ClientId $scope.clientid -Type $scope.Type #-WhatIf } Es gibt doch hier bestimmt Powershell Spezis die mir sagen können was ich falsch mache oder ob es einen leichteren Weg gibt. Ich möchte Bereich für Bereich umziehen. Nicht alle auf einmal. Auf dem neuen DHCP lege ich den Bereich analog zum Linux DHCP an und aktiviere ich den. Erst nach der Freigabe an der Firewall (Netzwerkteam) wird der neue DHCP Server für diesen Bereich angefragt. Nun habe ich gesehen, dass auf dem Linux DHCP es Bereiche gibt wo verdammt viele Reservierungen drin sind. Zeitterminals und was weis ich was es da alles gibt. Das von Hand anzulegen ist heftig. Danke für eure Unterstützung. Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 8. Mai Melden Teilen Geschrieben 8. Mai Export gibt es nicht. out-file, add/set-content,... Wieso willst du mit export testen und nicht mit import? Bekommst du ein Ergebnis in der Shell mit: Get-DhcpServerv4Scope -ComputerName "servername.meinedomaene.lan" ? Zitieren Link zu diesem Kommentar
testperson 1.677 Geschrieben 8. Mai Melden Teilen Geschrieben 8. Mai Hi, wenn dir die GUI fehlt, installiere doch einen Management Client mit den (DHCP) RSAT Tools und nutze dessen GUI. Gruß Jan Zitieren Link zu diesem Kommentar
Neopolis 19 Geschrieben 8. Mai Autor Melden Teilen Geschrieben 8. Mai vor 38 Minuten schrieb Dukel: Export gibt es nicht. out-file, add/set-content,... Wieso willst du mit export testen und nicht mit import? Bekommst du ein Ergebnis in der Shell mit: Get-DhcpServerv4Scope -ComputerName "servername.meinedomaene.lan" ? Ergebnis würde ich nicht sagen aber es kommt dass eine neue Zeile mit >> am Anfang vor 31 Minuten schrieb testperson: Hi, wenn dir die GUI fehlt, installiere doch einen Management Client mit den (DHCP) RSAT Tools und nutze dessen GUI. Gruß Jan Gute Idee mit der GUI. Meinst Du zufällig die DHCP Konsole? Die hätte ich beim mir am PC. Damit kann ich auch prima einen Export machen aber leider keinen Import :-( vor 1 Minute schrieb Neopolis: Ergebnis würde ich nicht sagen aber es kommt dass eine neue Zeile mit >> am Anfang Gute Idee mit der GUI. Meinst Du zufällig die DHCP Konsole? Die hätte ich beim mir am PC. Damit kann ich auch prima einen Export machen aber leider keinen Import :-( Ich wollte es mit Export testen um erstmal zu sehen wie die CSV Datei aussehen muss die mir Linux liefert. Zitieren Link zu diesem Kommentar
testperson 1.677 Geschrieben 8. Mai Melden Teilen Geschrieben 8. Mai DHCP Export / Import habe ich einmal benötigt und meine mich zu erinnern, dass ich damals den import auch nur per "netsh" geschafft habe: netsh dhcp server \\<Alter DHCP Server> export c:\DHCPdb all netsh dhcp server \\<Neuer DHCP Server> import c:\DHCPdb all Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 8. Mai Melden Teilen Geschrieben 8. Mai Es kann doch egal sein, wie der Export aussieht. So wie du es vor hast kannst die csv komplett andere Spalten und Reihenfolgen haben. Teil deine Aufgabe in kleine häppchen. Nimm als erstes ein Beispiel Scope mit den entsprechenden Daten und erstellen diesen per Powershell mit Add-DhcpServerv4Scope (Achtung! in deinem Bsp hast du Reservation, und nicht Scope!, das kommt später). Wenn das funktioniert nimmst du deine csv Datei und erstellst eine Schleife und lässt dir z.B. alle benötigten Felder ausgeben und ergänzt im nächsten Schritt das obere Script mit den entsprechenden Variablen. vor 1 Minute schrieb testperson: DHCP Export / Import habe ich einmal benötigt und meine mich zu erinnern, dass ich damals den import auch nur per "netsh" geschafft habe: netsh dhcp server \\<Alter DHCP Server> export c:\DHCPdb all netsh dhcp server \\<Neuer DHCP Server> import c:\DHCPdb all Das hilft aber nicht bei einem Linux DHCP Server mit einer CSV Datei ;) Zitieren Link zu diesem Kommentar
testperson 1.677 Geschrieben 8. Mai Melden Teilen Geschrieben 8. Mai vor 6 Minuten schrieb Dukel: Das hilft aber nicht bei einem Linux DHCP Server mit einer CSV Datei ;) Linux hatte ich gedanklich schon wieder verdrängt. Mit Windows wäre das nicht passiert. ;) Zitieren Link zu diesem Kommentar
Neopolis 19 Geschrieben 8. Mai Autor Melden Teilen Geschrieben 8. Mai Okay Jungs! Ich habe den Bereich im Windows DHCP erstellt Jetzt würde ich gern importieren: $dhcpserver = "servername.meinedomaene.lan" $scopes = Import-Csv -Path "c:\temp\reservierungen_admin_it.csv" -Delimiter ";" foreach ($scope in $scopes) { $name = $scope.name $description = $scope.description Write-Output "Creating scope $name" Add-DhcpServerv4Reservation -ComputerName $dhcpserver -ScopeId $scope.ScopeId -IPAddress $scope.ipaddress -Description $scope.description -Name $scope.name -ClientId $scope.clientid -Type $scope.Type #-WhatIf } Meine CSV Datei hat folgenden Inhalt: ScopeId;IPAddress;description;name;clientid 10.1.16.0;10.1.16.21;Workstation;pc-01;CCCCCCCCCC 10.1.16.0;10.1.16.25;AdminWorkstation;pc-02;0000000000 Klappt nicht :-( Fehlermeldung: PS C:\WINDOWS\system32> C:\temp\dhcp_import.ps1 Creating scope pc-01 Add-DhcpServerv4Reservation : Das Argument für den Parameter "Type" kann nicht überprüft werden. Das Argument "" gehört nicht zu dem vom ValidateSet-Attribut angegebenen Satz "Dhcp;Bootp;Both". Geben Sie ein Argument an, das in dem Satz enthalten ist, und führen Sie dann den Befehl erneut aus. In C:\temp\dhcp_import.ps1:9 Zeichen:189 + ... -Name $scope.name -ClientId $scope.clientid -Type $scope.Type #-WhatI ... + ~~~~~~~~~~~ + CategoryInfo : InvalidData: (:) [Add-DhcpServerv4Reservation], ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationError,Add-DhcpServerv4Reservation Was mache ich denn da verkehrt? Ich vermute da ist was mit der MAC Adresse nicht richtig. Aber wie muss ich das anpassen? Zitieren Link zu diesem Kommentar
Beste Lösung testperson 1.677 Geschrieben 8. Mai Beste Lösung Melden Teilen Geschrieben 8. Mai Hi, in deiner CSV scheint es kein Feld "Type" zu geben, was du aber beim Import mit dem Parameter "-Type $Scope.Type" adressierst. Du könntest den Type vermutlich einfach statisch auf "DHCP" setzen in deinem Script: Add-DhcpServerv4Reservation -ComputerName $dhcpserver ` -ScopeId $scope.ScopeId ` -IPAddress $scope.ipaddress ` -Description $scope.description ` -Name $scope.name ` -ClientId $scope.clientid ` -Type DHCP Eine andere Frage wäre, wie ausgelastet sind denn die Bereiche? Vielleicht wäre es einfacher, die Konflikterkennung am neuen Windows DHCP zu aktivieren und neue Adressen vergeben zu lassen. Du kannst ja pro Scope auch zum Stichtag hin die Leasedauer verkürzen. Gruß Jan Zitieren Link zu diesem Kommentar
Neopolis 19 Geschrieben 8. Mai Autor Melden Teilen Geschrieben 8. Mai Es gibt Bereiche die einige tausend Adresse haben und dann auch nur /24er Bereiche. Das ist ganz unterschiedlich. Es ist alles dabei. Dank Dir habe ich begriffen was das Problem war. Ich habe es hinbekommen und die 189 Reservierungen für diesen Bereich erfolgreich importieren können. Das ist eine Vorlage für alle anderen. Nun kann ich nach und nach umziehen. Danke euch!!! Gruß Thomas Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.