W tym wpisie pokarzę wam jak zarządzać adresem IP przy pomocy PowerShell.
Wyszukanie indexu interfejsu sieciowego przy pomocy PowerShell
Aby zmienić adres IP musimy najpierw zlokalizować kartę sieciową w PowerShell. Każda zainstalowana karta sieciowa posiada własny index.
Przy pomocy następującego polecenia uzyskasz potrzebne informacje, parametr który nas interesuje to „InterfaceIndex„
Get-NetIPAddress
Jak ustawić stałe IP przy pomocy PowerShell
Znając index interfejsu używamy następującego polecenia, aby ustawić stale IP przy pomocy PowerShell, zakładając ze poprzednio adres IP uzyskiwany był z serwera DHCP:
New-NetIPAddress -InterfaceIndex 5 -IPAddress 192.168.1.64 -PrefixLength 24 -DefaultGateway 192.168.1.254
Adres serwera DNS zostanie ustawiony przy pomocy następującego polecenia:
Set-DnsClientServerAddress -InterfaceIndex 5 -ServerAddresses ("192.168.1.100","8.8.8.8")
Jak zmienić stałe IP na inne stałe IP przy pomocy PowerShell
Gdy znamy już index naszego interfejsu używamy następującego polecenia aby zmienić IP. Zastępując odpowiednio parametry w poleceniu do naszej infrastruktury.
New-NetIPAddress -InterfaceIndex 5 -IPAddress 192.168.1.64 -PrefixLength 24 -DefaultGateway 192.168.1.26
Jeżeli zmieniasz tylko adres IP a brama domyślna zostaje bez zmian, należy usunąć całkowicie parametr „-DefaultGateway” z polecenia
Jeżeli poprzednio na interfejsie ustawione było stale IP, należy usunąć poprzedni adres przy pomocy następującego polecenia:
Remove-NetIPAddress -InterfaceIndex 5 -IPAddress 192.168.1.152 -PrefixLength 24 -DefaultGateway 192.168.1.27
Jeżeli brama domyślna pozostaje bez zmian, należy usunąć parametr „-DefaultGateway” z polecenia
Potwierdzamy wszystkie zapytania o usunięcie starych parametrów.
Nie usuwając poprzedniego adresu IP, danemu interfejsowi zostaną przypisane obydwa adresy.
Adres serwera DNS zostanie ustawiony przy pomocy następującego polecenia:
Set-DnsClientServerAddress -InterfaceIndex 5 -ServerAddresses ("192.168.1.100","8.8.8.8")
Zmiana stałego adresu IP na DHCP
Aby interfejs sieciowy automatycznie uzyskiwał adres IP od serwera DHCP użyj następujących poleceń:
Get-NetIPInterface -InterfaceIndex 5 | Set-NetIPInterface -Dhcp Enabled
Get-NetIPInterface -InterfaceIndex 5 | Remove-NetRoute
Get-NetIPInterface -InterfaceIndex 5 | Set-DnsClientServerAddress -ResetServerAddresses
ipconfig /renew
Zobacz również:
Modyfikacja uprawnień do plików i folderów w PowerShell (helpdesktricks.com)
Witam.
Udało mi się zdalnie zmienić adres IP ze statycznego na DHCP poleceniem Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=true -ComputerName „hostname/ip” | ForEach-Object -Process {$_.InvokeMethod(„EnableDHCP”, $null)}. Ale potrebuję pomocy, bo to samo zrobić z DNS. Zdalnie zmienić ze statycznego, by pobierał z DHCP. Jak to zrobić?
Witaj Piotrze,
Aby zmienić DNS ze stałego na DHCP należy wywołać metodę „SetDNSServerSearchOrder”, podobnie jak zrobiłeś to dla adresu IP.
Poniżej przykład:
WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=true -ComputerName „hostname/ip” | ForEach-Object -Process {$_.InvokeMethod(„SetDNSServerSearchOrder”, $null)}
Pozdrawiam
Wielkie dzięki Tom. Zadziałało jak należy.
Pozdrawiam