Pada artikel ini, kami akan mempertimbangkan fitur mengkonfigurasi adapter jaringan di Windows dari PowerShell. Mari kita lihat bagaimana mencari tahu dan menetapkan alamat IP statis, server DNS, atau mengkonfigurasi antarmuka jaringan untuk menerima konfigurasi IP dari server DHCP. Anda dapat menggunakan cmdlet ini untuk mengonfigurasi jaringan di versi Core / Nano Windows Server, di Hyper-V Server, untuk mengubah pengaturan IP pada komputer jarak jauh atau server jaringan atau dalam skrip PS.
Sebelumnya, perintah antarmuka ipv4 netsh digunakan untuk mengkonfigurasi pengaturan jaringan di Windows dari CLI. Di PowerShell 3.0 dan yang lebih baru, Anda dapat menggunakan modul PowerShell bawaan untuk mengelola pengaturan jaringan Windows NetTCPIP.
Untuk mendapatkan daftar cmdlet dalam modul ini, jalankan:
dapatkan-perintah-modul NetTCPIP
Konten:
- Mengelola Adapter Jaringan dari PowerShell
- Lihat Pengaturan Antarmuka Jaringan TCP / IP dari PowerShell
- Konfigurasikan Alamat IP Statis dari PowerShell
- Set-DnsClientServerAddress: mengkonfigurasi alamat server DNS
- PowerShell: Mengkonfigurasi Mendapatkan Alamat IP dari Server DHCP
- Secara jarak jauh mengubah pengaturan IP / DNS di Windows
Mengelola Adapter Jaringan dari PowerShell
Kami mencantumkan antarmuka jaringan komputer yang tersedia:
Dapatkan-netadapter
Cmdlet mengembalikan nama antarmuka, status (Atas / Bawah), alamat MAC, kecepatan port.
Dalam contoh ini, saya memiliki beberapa adapter jaringan di komputer saya (selain koneksi fisik Ethernet0, ada beberapa antarmuka jaringan dari Hyper-V dan VMWare Player).
Anda dapat mengakses antarmuka jaringan dengan nama atau indeks mereka (kolom ifIndex). Dalam contoh kami, untuk memilih adaptor LAN fisik Intel 82574L Anda perlu mengetik perintah:
Dapatkan-NetAdapter -Nama "Ethernet0"
atau
Dapatkan-NetAdapter -InterfaceIndex 8
Anda dapat mengubah nama adaptor:
Ganti nama-NetAdapter -Name Ethernet0 -NewName LAN
Untuk mematikan antarmuka jaringan, gunakan perintah:
Dapatkan-NetAdapter -InterfaceIndex 13 | Nonaktifkan-NetAdapter
Ketika Anda menghidupkan antarmuka, Anda tidak dapat menentukan indeksnya, karena dia tidak ditugaskan. Anda dapat menentukan nama adaptor atau deskripsinya.
Aktifkan-NetAdapter -InterfaceDescription "Hyper-V Virtual Ethernet Adapter"
Jika VLAN ditentukan untuk adaptor, Anda dapat menampilkannya seperti ini:
Dapatkan-NetAdapter | ft Name, Status, Linkspeed, VlanID
Informasi tentang driver adaptor jaringan yang digunakan:
Dapatkan-NetAdapter | Nama ft, DriverName, DriverVersion, DriverInformation, DriverFileName
Informasi tentang adapter jaringan fisik (slot PCI, bus, dll.).
Dapatkan-NetAdapterHardwareInfo
Lihat Pengaturan Antarmuka Jaringan TCP / IP dari PowerShell
Dapatkan pengaturan antarmuka jaringan saat ini (alamat IP, DNS, gateway):
Dapatkan-NetIPConfiguration -InterfaceAlias Ethernet0
Untuk menampilkan informasi lebih rinci tentang konfigurasi antarmuka jaringan, gunakan perintah:
Dapatkan-NetIPConfiguration -InterfaceAlias Ethernet0 -Detailed
Dalam hal ini, profil jaringan yang ditetapkan antarmuka (NetProfile.NetworkCategory), pengaturan MTU (NetIPv4Interface.NlMTU), apakah menerima alamat dari DHCP (NetIPv4Interface.DHCP), dan beberapa informasi bermanfaat lainnya ditampilkan.
Dapatkan nilai hanya alamat IP antarmuka:
(Get-NetAdapter -Name ethernet0 | Get-NetIPAddress) .IPv4Address
Konfigurasikan Alamat IP Statis dari PowerShell
Mari kita coba atur alamat IP statis untuk antarmuka jaringan. Untuk mengubah alamat IP, subnet mask, dan gateway untuk antarmuka jaringan:
New-NetIPAddress -IPAddress 192.168.1.80 -DefaultGateway 192.168.1.1 -PrefixLength 24 -InterfaceIndex 8
Anda dapat mengatur alamat IP dengan menyajikannya sebagai array yang lebih banyak (lebih jelas):
$ ipParams = @
InterfaceIndex = 8
IPAddress = "192.168.1.22"
PrefixLength = 24
AddressFamily = "IPv4"
New-NetIPAddress @ipParams
Jika alamat IP statis sudah dikonfigurasi dan Anda perlu mengubahnya, gunakan cmdlet Set-NetIPAddress:
Set-NetIPAddress -InterfaceIndex 8 -IPAddress 192.168.1.90
Untuk menonaktifkan penerimaan alamat IP dari DHCP pada antarmuka, lakukan:
Set-NetIPInterface -InterfaceAlias Ethernet0 -DHCP Dinonaktifkan
Gunakan cmdlet untuk melihat tabel routing. Dapatkan-NetRoute
. Untuk menambahkan rute baru, gunakan New-NetRoute:
New-NetRoute -DestinationPrefix "0.0.0.0/0" -NextHop "192.168.0.1" -InterfaceIndex 8
Nonaktifkan protokol IPv6 untuk antarmuka jaringan:
Dapatkan-NetAdapterBinding -InterfaceAlias Ethernet0 | Set-NetAdapterBinding -Enabled: $ false -ComponentID ms_tcpip6
Set-DnsClientServerAddress: mengkonfigurasi alamat server DNS
Untuk mengatur alamat server DNS primer dan sekunder di Windows, gunakan cmdlet Set-DNSClientServerAddress. Sebagai contoh:
Set-DNSClientServerAddress -InterfaceIndex 8 -ServerAddresses 192.168.1.11,10.1.1.11
Anda juga dapat mengatur server DNS melalui array:
$ dnsParams = @
InterfaceIndex = 8
ServerAddresses = ("8.8.8.8", "8.8.4.4")
Set-DnsClientServerAddress @dnsParams
Setelah mengubah pengaturan DNS, Anda dapat menghapus cache DNS:
Hapus-DnsClientCache
PowerShell: Mengkonfigurasi Mendapatkan Alamat IP dari Server DHCP
Agar antarmuka jaringan komputer menerima alamat IP dinamis dari server DHCP, jalankan perintah:
Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Diaktifkan
Hapus pengaturan server DNS:
Set-DnsClientServerAddress -InterfaceIndex 8 -ResetServerAddresses
Dan restart antarmuka untuk mendapatkan alamat IP:
Restart-NetAdapter -InterfaceAlias Ethernet0
Jika sebelumnya Anda memiliki gateway yang dikonfigurasi, hapuslah:
Set-NetIPInterface -InterfaceAlias Ethernet0 | Remove-NetRoute -Confirm: $ false
Secara jarak jauh mengubah pengaturan IP / DNS di Windows
Anda dapat menggunakan PowerShell untuk mengubah pengaturan alamat IP atau server DNS jarak jauh pada banyak komputer jarak jauh. Misalkan tugas Anda adalah mengubah pengaturan DNS untuk semua server dalam wadah AD yang ditentukan. Untuk mendapatkan daftar komputer dalam skrip di bawah ini, cmdlet Get-ADComputer digunakan, dan koneksi jarak jauh ke komputer dilakukan melalui WinRM (Invoke-Command cmdlet):
$ Server = Dapatkan-ADComputer -SearchBase 'OU = Moscow, DC = winitpro, DC = loc' -Filter '(Sistem Operasi mirip "Windows Server *")' | Nama Sort-Obyek
ForEach ($ Server dalam $ Server)
Host-Tulis "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 'Benar' -dan $ _. DNSServerSearchOrder -ne $ null
Host-Tulis "Pengaturan DNS lama:"
$ Adapters | ForEach-Object $ _. DNSServerSearchOrder
$ Adapters | ForEach-Object $ _. SetDNSServerSearchOrder ($ NewDnsServerSearchOrder) | Keluar nol
$ Adapters = Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object $ _. DHCPEnabled -ne 'Benar' -dan $ _. DNSServerSearchOrder -ne $ null
Host-Tulis "Pengaturan DNS Baru:"
$ Adapters | ForEach-Object $ _. DNSServerSearchOrder