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