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
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
Č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