Powershell IP Adresse vergeben
Hallo Damen und Herren,
ich möchte gerne per Powershell die IP Adresse von mehreren PC's auf statisch ändern, das funktioniert auch soweit super.
Es gibt nur ein Problem: Das Netzwerk hat von PC zu PC einen komplett anderen Namen. (Ethernet, Netzwerk, Netzwerk 2, Netzwerk 3,...)
Da ich den Netzwerknamen benötige, brauche ich auch einen Befehl, wie man den Netzwerknamen kopiert und in Powershell einfügt.
Der Befehl für das vergeben der IP lautet "netsh interface ip set address "Ethernet" static 192.168.66.22 255.255.255.0"
Habt ihr für mich Lösungsvorschläge, wie ich das Problem angehen kann?
Gibt es eventuell ein Befehl in PS der sagt: "kopiere Netzwerknamen und füge ihn zur aktuellen Powershell Sitzung ein"?
Schon mal vielen Dank im Voraus für's helfen.
Sam.
ich möchte gerne per Powershell die IP Adresse von mehreren PC's auf statisch ändern, das funktioniert auch soweit super.
Es gibt nur ein Problem: Das Netzwerk hat von PC zu PC einen komplett anderen Namen. (Ethernet, Netzwerk, Netzwerk 2, Netzwerk 3,...)
Da ich den Netzwerknamen benötige, brauche ich auch einen Befehl, wie man den Netzwerknamen kopiert und in Powershell einfügt.
Der Befehl für das vergeben der IP lautet "netsh interface ip set address "Ethernet" static 192.168.66.22 255.255.255.0"
Habt ihr für mich Lösungsvorschläge, wie ich das Problem angehen kann?
Gibt es eventuell ein Befehl in PS der sagt: "kopiere Netzwerknamen und füge ihn zur aktuellen Powershell Sitzung ein"?
Schon mal vielen Dank im Voraus für's helfen.
Sam.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 485002
Url: https://administrator.de/forum/powershell-ip-adresse-vergeben-485002.html
Ausgedruckt am: 22.04.2025 um 01:04 Uhr
9 Kommentare
Neuester Kommentar
Hi
wäre Hilfreich zu wissen was du bisher an Code hast.
Grundsätzlich würde ich hier sagen, das du erst per Get-WMIObject den Netzwerkadapter ausliest und dann entsprechend dessen Set-Funktionen nutzt.
Sowas wie
-> https://blogs.technet.microsoft.com/danstolts/2012/01/using-powershell-t ...
Das würde dir auf dem Client kurzerhand die vom DHCP zugewiesenen Werte in eine manuelle Konfiguration übernehmen
wäre Hilfreich zu wissen was du bisher an Code hast.
Grundsätzlich würde ich hier sagen, das du erst per Get-WMIObject den Netzwerkadapter ausliest und dann entsprechend dessen Set-Funktionen nutzt.
Sowas wie
$NICs = Get-WMIObject Win32_NetworkAdapterConfiguration -computername $client | where{$_.IPEnabled -eq $true -and $_.DHCPEnabled -eq $true}
Foreach($NIC in $NICs) {
$ip = ($NIC.IPAddress)
$gateway = $NIC.DefaultIPGateway
$subnet = $NIC.IPSubnet
$dns = $NIC.DNSServerSearchOrder
$NIC.EnableStatic($ip, $subnet)
$NIC.SetGateways($gateway)
$NIC.SetDNSServerSearchOrder($dns)
$NIC.SetDynamicDNSRegistration("TRUE")
}
Das würde dir auf dem Client kurzerhand die vom DHCP zugewiesenen Werte in eine manuelle Konfiguration übernehmen
naja mit netsh befindest du dich halt nicht in Powershell sondern in CMD und da gibts so erst mal keine Objekte. Entsprechend wird das auslesen da ein bisschen fummeliger. Wenn, dann nimmst du dafür wmic:
Aber warum, wenn Powershell doch so viel schöner ist?
for /f "tokens=2 delims==" %%a in ('wmic nic where (NetConnectionStatus^=2^) get netconnectionid /value') do (
for /f "delims=" %%b in ("%%a") do echo %%b
)
Aber warum, wenn Powershell doch so viel schöner ist?

Nein nur wenn es remote ausgeführt werden soll, wenn es lokal ausgeführt wird lässt du das -computername $client einfach weg...