From 784a41b45cfb34f4370aaeaaf509dfcab14c4f86 Mon Sep 17 00:00:00 2001
From: Saad Chaaban <saad.chaaban@hu-berlin.de>
Date: Mon, 30 Nov 2020 08:50:36 +0100
Subject: [PATCH] Update changeIP.ps1

---
 windows/changeIP.ps1 | 34 ++++++++++++++++++++++++----------
 1 file changed, 24 insertions(+), 10 deletions(-)

diff --git a/windows/changeIP.ps1 b/windows/changeIP.ps1
index 4441070..a591b37 100644
--- a/windows/changeIP.ps1
+++ b/windows/changeIP.ps1
@@ -2,21 +2,31 @@
 # Gibt die Notwendigen Infos aus: Welche Geraete sind da und mit dem Netzwerk "verbunden"
 Get-NetAdapter | select Name, InterfaceDescription, Status, IfIndex | Where-Object Status -eq -Value "Up" | Out-Host 
 $InterfaceIndex = Read-Host -Prompt 'Input Interface Index (Ethernet)'
-# Der Befehl hier ein zweites mal ausgeführt um die MacAdresse des ausgewählten Adapters in eine Datei zu schreiben.
+# Der Befehl hier ein zweites mal ausgeführt um die MacAdresse in eine Datei zu schreiben.
 Get-NetAdapter -InterfaceIndex $InterfaceIndex | select InterfaceDescription, ifIndex, MacAddress | Out-File -FilePath .\MACADRESS.txt
-Write-Host "MacAdresse in Datei geschrieben"
-# Entfernt jede Eintrag aus dem Netzwerkprofil - Kann zu Fehlermeldungen kommen die ignoriert werden können.
-# OLD VALUE Remove-NetIPAddress -Confirm:$false
-# TODO: checken ob ein Wert angegeben worden ist. Wenn nicht: SKIP THIS VALUE!
-Remove-NetIPAddress -PrefixOrigin Manual -Confirm:$false
-# TODO: checken ob ein Wert angegeben worden ist. Wenn nicht: SKIP THIS VALUE!
-#Entfernt anschließed das Stadardgateway
-remove-netroute -interfaceindex $InterfaceIndex -DestinationPrefix 0.0.0.0/0 -confirm:$false
+Write-Host "Mac Adresse in Datei geschrieben"
+Get-NetIPAddress -InterfaceIndex $InterfaceIndex | select ifIndex, PrefixOrigin | Where-Object {$_.PrefixOrigin -eq "Manual"} -outvariable Manual >$null 2>&1
+# Überprüfe ob schon eine IP Konfiguration vorhanden ist
+if ($Manual -match "Manual")
+{
+	# Entfernt jede Eintrag aus dem Netzwerkprofil - Kann zu Fehlermeldungen kommen die ignoriert werden können.
+    Write-Host " == Entferne vorhandene IP Konfiguration =="
+	Remove-NetIPAddress -PrefixOrigin Manual -Confirm:$false
+	#Entfernt anschließed das Stadardgateway
+	remove-netroute -interfaceindex $InterfaceIndex -DestinationPrefix 0.0.0.0/0 -confirm:$false
+}
+else {
+    Write-Host "== Keine manuellen IP Konfiguration gefunden =="
+}
+Write-Host "================================"
 Write-Host "Um welches Netz handelt es sich?"
+Write-Host "================================"
+Write-Host ""
+Write-Host "(0) INSTALL IP"
 Write-Host "(1) 134/135"
 Write-Host "(2) 136"
 Write-Host "(3) 137"
-switch (Read-Host "Wählen Sie einen Wert"){
+switch (Read-Host "Auswahl eingeben und mit Enter bestätigen"){
 1 {
 	$Oktette = Read-Host -Prompt 'Bitte das dritte und vierte Oktett der IP eingeben'
 	New-NetIPAddress -InterfaceIndex $InterfaceIndex -IPAddress 141.20.$Oktette -PrefixLength 23 -DefaultGateway 141.20.134.1
@@ -32,6 +42,10 @@ switch (Read-Host "Wählen Sie einen Wert"){
 	New-NetIPAddress -InterfaceIndex $InterfaceIndex -IPAddress 141.20.137.$Oktette -PrefixLength 24 -DefaultGateway 141.20.137.1
 	Set-DnsClientServerAddress -InterfaceIndex $InterfaceIndex -ServerAddresses 141.20.2.3,141.20.1.3
 }
+0 {
+	New-NetIPAddress -InterfaceIndex $InterfaceIndex -IPAddress 141.20.134.144 -PrefixLength 24 -DefaultGateway 141.20.134.1
+	Set-DnsClientServerAddress -InterfaceIndex $InterfaceIndex -ServerAddresses 141.20.2.3,141.20.1.3
+}
 default {"Ungültige Eingabe"}
 }
 Write-Host -NoNewLine 'Press any key to continue...';
-- 
GitLab