Postavljanje mreže pomoću PowerShell-a (IP adresa, DNS, pristupnik, rute)

U ovom ćemo članku razmotriti značajke konfiguriranja mrežnih adaptera u sustavu Windows iz tvrtke PowerShell. Pogledajmo kako saznati i dodijeliti statičku IP adresu, DNS poslužitelj ili konfigurirati mrežno sučelje za primanje IP konfiguracije od DHCP poslužitelja. Pomoću ovih cmdleta možete konfigurirati mrežu u Core / Nano verzijama sustava Windows Server, u Hyper-V Serveru, za izmjenu IP postavki na udaljenim računalima ili mrežnim poslužiteljima ili u PS skriptama.

Prije toga, naredba mrežnog sučelja ipv4 korištena je za konfiguriranje mrežnih postavki u sustavu Windows iz CLI-ja. U PowerShell 3.0 i novijim verzijama možete koristiti ugrađeni PowerShell modul za upravljanje mrežnim postavkama sustava Windows NetTCPIP.

Da biste dobili popis cmdleta u ovom modulu, pokrenite:

get-command-modul NetTCPIP

Ovaj modul također uključuje Test-NetConnection cmdlet, koji se može koristiti za provjeru dostupnosti TCP portova na udaljenim računalima..

sadržaj:

  • Upravljanje mrežnim adapterima iz PowerShell-a
  • Pogledajte postavke TCP / IP mrežnog sučelja iz PowerShell-a
  • Konfigurirajte statičku IP adresu iz PowerShell-a
  • Set-DnsClientServerAddress: konfigurirajte adrese DNS poslužitelja
  • PowerShell: Konfiguriranje dobivanja IP adrese s DHCP poslužitelja
  • Daljinski promijenite IP / DNS postavke u sustavu Windows

Upravljanje mrežnim adapterima iz PowerShell-a

Nabrajamo dostupna mrežna sučelja računala:

Get-NetAdapter

Cmdlet vraća naziv sučelja, status (gore / dolje), MAC adresu, brzinu priključka.

U ovom primjeru, na računalu imam nekoliko mrežnih adaptera (osim fizičke veze Ethernet0, postoji i nekoliko mrežnih sučelja Hyper-V i VMWare Player).

Mrežnim sučeljima možete pristupiti po njihovim imenima ili indeksima (stupac ifIndex). U našem primjeru za odabir fizičkog LAN adaptera Intel 82574L trebate upisati naredbu:

Get-NetAdapter -Ime "Ethernet0"

ili

Get-NetAdapter -InterfaceIndex 8

Ime adaptera možete promijeniti:

Preimenovanje-NetAdapter -Name Ethernet0 -NewName LAN

Da biste isključili mrežno sučelje, koristite naredbe:

Get-NetAdapter -InterfaceIndex 13 | Onemogući-NetAdapter

Kad uključite sučelje, ne možete odrediti njegov indeks, jer nije mu dodijeljen. Možete odrediti naziv adaptera ili njegov opis.

Omogući-NetAdapter -InterfaceDescription "Hyper-V Virtualni Ethernet adapter"

Ako je za adapter naveden VLAN, možete ga prikazati ovako:

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

Podaci o korištenom upravljačkom programu mrežnog adaptera:

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

Informacije o fizičkim mrežnim adapterima (PCI slot, bus itd.).

Get-NetAdapterHardwareInfo

Pogledajte postavke TCP / IP mrežnog sučelja iz PowerShell-a

Dohvati trenutne postavke mrežnog sučelja (IP adresa, DNS, gateway):

Get-NetIPConfiguration -InterfaceAlias ​​Ethernet0

Za prikaz detaljnijih informacija o konfiguraciji mrežnog sučelja koristite naredbu:

Get-NetIPConfiguration -InterfaceAlias ​​Ethernet0 -Detailed

U ovom slučaju su prikazani dodijeljeni mrežni profil sučelja (NetProfile.NetworkCategory), MTU postavke (NetIPv4Interface.NlMTU), da li prima adrese od DHCP (NetIPv4Interface.DHCP) i neke druge korisne informacije..

Dobijte vrijednost samo IP adrese sučelja:

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

Konfigurirajte statičku IP adresu iz PowerShell-a

Pokušajmo postaviti statičku IP adresu mrežnog sučelja. Da biste promijenili IP adresu, masku podmreže i gateway za mrežno sučelje:

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

IP adresu možete postaviti tako da je predstavite kao više polja (jasnije):

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

Nova-NetIPAdresa @ipParams

Možete koristiti cmdlet New-NetIPAddress za dodavanje druge IP adrese mrežnom sučelju..

Ako je statička IP adresa već konfigurirana i morate je promijeniti, koristite cmdlet Set-NetIPAddress:

Set-NetIPAddress -InterfaceIndex 8 -IPAdresa 192.168.1.90

Da biste onemogućili primanje IP adresa od DHCP-a na sučelju, učinite:

Set-NetIPInterface -InterfaceAlias Ethernet0 -DHCP Onemogućeno

Upotrijebite cmdlet za pregled tablice usmjeravanja. Get-NetRoute. Za dodavanje nove rute koristite New-NetRoute:

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

Onemogućite IPv6 protokol za mrežno sučelje:

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

Set-DnsClientServerAddress: konfigurirajte adrese DNS poslužitelja

Za postavljanje primarnih i sekundarnih adresa DNS poslužitelja u sustavu Windows, koristite cmdlet Set-DNSClientServerAddress. Na primjer:

Set-DNSClientServerAddress -InterfaceIndex 8 -ServerAddresses 192.168.1.11.10.1.1.11

DNS poslužitelj možete postaviti i kroz niz:

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

Set-DnsClientServerAddress @dnsParams

Nakon što promijenite postavke DNS-a, možete očistiti DNS predmemoriju:

Jasno DnsClientCache

PowerShell: Konfiguriranje dobivanja IP adrese s DHCP poslužitelja

Da bi mrežno sučelje računala primilo dinamičku IP adresu od DHCP poslužitelja, pokrenite naredbu:

Set-NetIPInterface -InterfaceAlias ​​Ethernet0 -Dhcp Omogućeno

Brisanje postavki DNS poslužitelja:

Set-DnsClientServerAddress -InterfaceIndex 8 -ResetServerAddresses

I ponovno pokrenite sučelje kako biste dobili IP adresu:

Ponovo pokreni-NetAdapter -InterfaceAlias ​​Ethernet0

Ako ste prethodno imali pristupnik konfiguriran, izbrišite ga:

Set-NetIPInterface -InterfaceAlias ​​Ethernet0 | Ukloni-NetRoute -Potvrdi: $ false

Daljinski promijenite IP / DNS postavke u sustavu Windows

PowerShell možete koristiti za daljinsko mijenjanje postavki IP adresa ili DNS poslužitelja na više udaljenih računala. Pretpostavimo da je vaš zadatak promijeniti DNS postavke za sve poslužitelje u navedenom AD spremniku. Za dobivanje popisa računala u donjoj skripti koristi se cmdlet Get-ADComputer, a daljinsko povezivanje s računalima vrši se putem WinRM (Invoke-Command cmdlet):

$ Serveri = Get-ADComputer -SearchBase 'OU = Moskva, DC = winitpro, DC = loc' -Filter '(Windows Server * ")' | Naziv objekta sortiranja
ForEach ($ poslužitelj u $ poslužiteljima)
Host pisanja "Server $ ($ Server.Name)"
Invoke-Command -ComputerName $ Server.Name -ScriptBlock
$ NewDnsServerSearchOrder = "192.168.1.11", "8.8.4.4"
$ Adapters = Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object $ _. DHCPEnabled -ne 'True' -and $ _. DNSServerSearchOrder -ne $ null
Host pisanja "Stare postavke DNS-a:"
$ Adapteri | ForEach-objekt $ _. DNSServerSearchOrder
$ Adapteri | ForEach-objekt $ _. SetDNSServerSearchOrder ($ NewDnsServerSearchOrder) | Out-Null
$ Adapters = Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object $ _. DHCPEnabled -ne 'True' -and $ _. DNSServerSearchOrder -ne $ null
Host pisanja "Nove postavke DNS-a:"
$ Adapteri | ForEach-objekt $ _. DNSServerSearchOrder