Nastavitev omrežja s programom PowerShell (IP naslov, DNS, prehod, poti)

V tem članku bomo upoštevali značilnosti konfiguriranja omrežnih adapterjev v sistemu Windows iz PowerShell-a. Poglejmo, kako najti in dodeliti statični naslov IP, strežnik DNS ali konfigurirati omrežni vmesnik za sprejemanje konfiguracije IP od strežnika DHCP. Te ukazne ročke lahko uporabite za konfiguriranje omrežja v Core / Nano različicah Windows Server, v Hyper-V Server, za spreminjanje nastavitev IP na oddaljenih računalnikih ali omrežnih strežnikih ali v skripti PS.

Pred tem je bil ukaz CLI nastavljen za konfiguracijo omrežnih nastavitev v sistemu Windows od CLI. V PowerShell 3.0 in novejših različicah lahko z vgrajenim modulom PowerShell upravljate omrežne nastavitve sistema Windows NetTCPIP.

Če želite dobiti seznam cmdletov v tem modulu, zaženite:

get-command-modul NetTCPIP

Ta modul vključuje tudi cmdlet Test-NetConnection, s katerim lahko preverite razpoložljivost vrat TCP na oddaljenih računalnikih..

Vsebina:

  • Upravljanje omrežnih adapterjev iz PowerShell-a
  • Oglejte si nastavitve omrežnega vmesnika TCP / IP iz PowerShell-a
  • Konfigurirajte statični IP naslov iz PowerShell-a
  • Set-DnsClientServerAddress: konfigurirajte naslove strežnika DNS
  • PowerShell: Konfiguriranje pridobivanja naslova IP s strežnika DHCP
  • Na daljavo spremenite nastavitve IP / DNS v sistemu Windows

Upravljanje omrežnih adapterjev iz PowerShell-a

Naštejemo razpoložljive omrežne vmesnike računalnika:

Get-netadapter

Cmdlet vrne ime vmesnika, stanje (gor / dol), MAC naslov, hitrost vrat.

V tem primeru imam v računalniku več omrežnih adapterjev (poleg fizične povezave Ethernet0 obstaja več omrežnih vmesnikov Hyper-V in VMWare Player).

Do omrežnih vmesnikov lahko dostopate po njihovih imenih ali indeksih (stolpec ifIndex). V našem primeru za izbiro fizičnega LAN adapterja Intel 82574L morate vnesti ukaz:

Get-NetAdapter -Ime "Ethernet0"

ali

Get-NetAdapter -InterfaceIndex 8

Ime adapterja lahko spremenite:

Preimenujte-NetAdapter -Name Ethernet0 -NewName LAN

Če želite izklopiti omrežni vmesnik, uporabite ukaze:

Get-NetAdapter -InterfaceIndex 13 | Onemogoči-NetAdapter

Ko vklopite vmesnik, ne morete določiti njegovega indeksa, ker ni dodeljen. Določite lahko ime adapterja ali njegov opis.

Omogoči-NetAdapter -InterfaceDescription "Virtualni adapter Ethernet Hyper-V"

Če je za adapter nastavljen VLAN, ga lahko prikažete takole:

Get-NetAdapter | ft Ime, Status, Linkpeed, VlanID

Informacije o uporabljenem gonilniku omrežnega adapterja:

Get-NetAdapter | ft Ime, DriverName, DriverVersion, DriverInformation, DriverFileName

Informacije o fizičnih omrežnih adapterjih (PCI reža, vodila itd.).

Get-NetAdapterHardwareInfo

Oglejte si nastavitve omrežnega vmesnika TCP / IP iz PowerShell-a

Pridobite trenutne nastavitve omrežnega vmesnika (IP naslov, DNS, prehod):

Get-NetIPConfiguration -InterfaceAlias ​​Ethernet0

Za prikaz podrobnejših informacij o konfiguraciji omrežnega vmesnika uporabite ukaz:

Get-NetIPConfiguration -InterfaceAlias ​​Ethernet0 -Detailed

V tem primeru se prikaže dodeljeni profil omrežja vmesnika (NetProfile.NetworkCategory), nastavitve MTU (NetIPv4Interface.NlMTU), ne glede na to, ali sprejema naslove od DHCP (NetIPv4Interface.DHCP) in nekatere druge koristne informacije.

Pridobite samo vrednost IP naslova vmesnika:

(Get-NetAdapter -Name ethernet0 | Get-NetIPAddress) .IPv4Adresa

Konfigurirajte statični IP naslov iz PowerShell-a

Poskusimo nastaviti statični naslov IP za omrežni vmesnik. Če želite spremeniti naslov IP, masko podomrežja in prehod za omrežni vmesnik:

New-NetIPAddress -IPAddress 192.168.1.80 -DefaultGateway 192.168.1.1 -PrefixLength 24 -InterfaceIndex 8

IP naslov lahko nastavite tako, da ga predstavite kot več matrike (bolj jasno):

$ ipParams = @
InterfaceIndex = 8
IPAddress = "192.168.1.22"
PrefixLength = 24
AddressFamily = "IPv4"

New-NetIPAdress @ipParams

Z ukaznim ukazom New-NetIPAddress lahko dodate drugi IP naslov v omrežni vmesnik..

Če je statični IP naslov že konfiguriran in ga morate spremeniti, uporabite ukazni ukaz Set-NetIPAddress:

Set-NetIPAddress -InterfaceIndex 8 -IPAdress 192.168.1.90

Če želite onemogočiti prejemanje naslovov IP od DHCP v vmesniku, naredite:

Set-NetIPInterface -InterfaceAlias Ethernet0 -DHCP Onemogočeno

Uporabite cmdlet za ogled tabele za usmerjanje. Get-NetRoute. Če želite dodati novo pot, uporabite New-NetRoute:

New-NetRoute -DestinationPrefix "0.0.0.0/0" -NextHop "192.168.0.1" -InterfaceIndex 8

Onemogoči protokol IPv6 za omrežni vmesnik:

Get-NetAdapterBinding -InterfaceAlias ​​Ethernet0 | Set-NetAdapterBinding -Enabled: $ false -ComponentID ms_tcpip6

Set-DnsClientServerAddress: konfigurirajte naslove strežnika DNS

Za nastavitev primarnega in sekundarnega naslova strežnika DNS v sistemu Windows uporabite ukazni ukaz Set-DNSClientServerAddress. Na primer:

Set-DNSClientServerAddress -InterfaceIndex 8 -ServerAddresses 192.168.1.11,10.1.1.11

DNS strežnik lahko nastavite tudi prek matrike:

$ dnsParams = @
InterfaceIndex = 8
ServerAddresses = ("8.8.8.8", "8.8.4.4")

Set-DnsClientServerAddress @dnsParams

Ko spremenite nastavitve DNS, lahko počistite predpomnilnik DNS:

Clear-DnsClientCache

PowerShell: Konfiguriranje pridobivanja naslova IP s strežnika DHCP

Da bi omrežni vmesnik računalnika prejel dinamični IP naslov od DHCP strežnika, zaženite ukaz:

Set-NetIPInterface -InterfaceAlias ​​Ethernet0 -Dhcp Omogočen

Počistite nastavitve strežnika DNS:

Set-DnsClientServerAddress -InterfaceIndex 8 -ResetServerAddresses

In znova zaženite vmesnik, da dobite naslov IP:

Znova zaženite NetAdapter -InterfaceAlias ​​Ethernet0

Če ste predhodno konfigurirali prehod, ga izbrišite:

Set-NetIPInterface -InterfaceAlias ​​Ethernet0 | Odstrani-NetRoute -Potrdi: $ false

Na daljavo spremenite nastavitve IP / DNS v sistemu Windows

Uporabite PowerShell za daljinsko spreminjanje nastavitev naslovov IP ali DNS strežnikov na več oddaljenih računalnikih. Predpostavimo, da je vaša naloga spremeniti nastavitve DNS za vse strežnike v določenem vsebniku AD. Če želite dobiti seznam računalnikov v spodnjem skriptu, uporabite ukazno ploščo Get-ADComputer, oddaljena povezava z računalniki pa se izvede prek WinRM (Invoke-Command cmdlet):

$ Strežniki = Get-ADComputer -SearchBase 'OU = Moskva, DC = winitpro, DC = loc' -Filter '(operacijski sistem, podoben "Windows Server *")' | Ime razvrsti predmeta
ForEach ($ strežnik v $ strežnikih)
Host pisanja "Server $ ($ Server.Name)"
Pokliči-ukaz -ComputerName $ Server.Name -ScriptBlock
$ NewDnsServerSearchOrder = "192.168.1.11", "8.8.4.4"
$ Adapters = Get-WmiObject Win32_NetworkAdapterConfiguration | Kjer-Predmet $ _. DHCPEnabled -ne 'True' -and $ _. DNSServerSearchOrder -ne $ null
Host za pisanje »Stare nastavitve DNS:«
$ Adapterji | ForEach-Object $ _. DNSServerSearchOrder
$ Adapterji | ForEach-Object $ _. SetDNSServerSearchOrder ($ NewDnsServerSearchOrder) | Nič
$ Adapters = Get-WmiObject Win32_NetworkAdapterConfiguration | Kjer-Predmet $ _. DHCPEnabled -ne 'True' -and $ _. DNSServerSearchOrder -ne $ null
Host pisanja "Nove nastavitve DNS:"
$ Adapterji | ForEach-Object $ _. DNSServerSearchOrder