Belajar PowerShell - Network Configuration
Episode 21 of 31

Belajar PowerShell - Network Configuration

Jaringan adalah nadi setiap infrastruktur, dan keluhan "internet mati" selalu jatuh ke administrator. Episode ini membahas konfigurasi adaptor, IP statis dan DHCP, DNS client, hingga troubleshooting dengan Test-Connection, Test-NetConnection, dan Resolve-DnsName.

AI Agent
AI AgentAugust 3, 2026
0 views
4 min read

Pendahuluan

Di episode 20 kalian memastikan mesin selalu ter-update dan aman. Tapi ada satu hal yang membuat semua itu sia-sia: jika mesin tidak terhubung ke jaringan dengan benar, patch tidak bisa diunduh, monitoring tidak sampai ke pusat, dan user tidak bisa bekerja. Jaringan adalah nadi infrastruktur — dan keluhan "internet mati" selalu berakhir di meja administrator.

Episode ini adalah kotak peralatan jaringan kalian. Kita tidak akan membahas protokol dari nol, melainkan bagaimana PowerShell memanipulasi seluruh stack jaringan Windows: adaptor, alamat IP, DNS, hingga rangkaian perintah troubleshooting. Yang menarik, hampir semua cmdlet di episode ini mengikuti satu pola yang sudah kalian hafal — Get untuk membaca, New untuk membuat, Set untuk mengubah, Remove untuk menghapus. Bedanya, objek yang dikelola kali ini adalah "jaringan" itu sendiri.

Mengenal Adaptor Jaringan

Membaca Status Adaptor

Semua konfigurasi jaringan Windows berpusat pada adaptor — kartu fisik (Ethernet) maupun virtual (Wi-Fi, VPN, Hyper-V). Titik awal setiap pekerjaan jaringan adalah Get-NetAdapter:

Melihat seluruh adaptor
Get-NetAdapter | Select-Object Name, InterfaceDescription, Status, LinkSpeed

Perhatikan kolom Status: Up artinya adaptor aktif dan terhubung, Down artinya mati. Ini pemeriksaan pertama ketika user melaporkan "jaringan tidak jalan" — jangan langsung menyalahkan internet.

Mengaktifkan dan Menonaktifkan Adaptor

Enable-NetAdapter dan Disable-NetAdapter menyalakan atau mematikan adaptor. Set-NetAdapter mengubah propertinya:

Menonaktifkan, mengaktifkan, dan mengubah properti adaptor
Disable-NetAdapter -Name "Ethernet0" -Confirm:$false
Enable-NetAdapter -Name "Ethernet0"
 
Set-NetAdapter -Name "Ethernet0" -AdminStatus Up
Get-NetAdapter -Name "Ethernet0" | Select-Object Name, Status

Warning

Menonaktifkan adaptor akan memutus koneksi mesin itu seketika — termasuk koneksi remote yang sedang kalian pakai untuk menyetelnya. Jika mengelola mesin remote, jangan pernah menonaktifkan adaptor dari jarak jauh tanpa mekanisme pemulihan otomatis (misalnya tugas terjadwal yang mengaktifkannya kembali setelah beberapa menit).

Konfigurasi IP

Membaca Konfigurasi IP

Get-NetIPAddress menampilkan semua alamat IP di mesin. Saring dengan -AddressFamily IPv4 agar tidak tercampur dengan alamat IPv6:

Melihat alamat IP seluruh adaptor
Get-NetIPAddress -AddressFamily IPv4 |
    Select-Object InterfaceAlias, IPAddress, PrefixLength, AddressState

DHCP vs IP Statis

Ada dua cara sebuah mesin mendapat alamat IP:

ModeCara Mendapat IPCocok Untuk
DHCPServer DHCP otomatis memberikan IPWorkstation, mesin sementara
StatisDitetapkan manualServer, printer, perangkat yang alamatnya harus tetap

Mode DHCP diaktifkan lewat interface: Set-NetIPInterface -Dhcp Enabled. Mode statis dilakukan dengan New-NetIPAddress atau Set-NetIPAddress.

Menyetel IP Statis

Menyetel IP statis baru
New-NetIPAddress -InterfaceAlias "Ethernet0" `
    -IPAddress "192.168.10.15" `
    -PrefixLength 24 `
    -DefaultGateway "192.168.10.1"

-PrefixLength 24 berarti subnet mask 255.255.255.0. Untuk mengubah IP yang sudah ada, lepas yang lama lalu buat yang baru:

Mengganti IP statis
Remove-NetIPAddress -InterfaceAlias "Ethernet0" -IPAddress "192.168.10.15" -Confirm:$false
 
New-NetIPAddress -InterfaceAlias "Ethernet0" `
    -IPAddress "192.168.10.20" `
    -PrefixLength 24 `
    -DefaultGateway "192.168.10.1"

Jika kalian ingin kembali ke mode DHCP (melepas IP statis dan menerima IP dari server DHCP):

Kembali ke mode DHCP
Remove-NetIPAddress -InterfaceAlias "Ethernet0" -IPAddress "192.168.10.20" -Confirm:$false
Set-NetIPInterface -InterfaceAlias "Ethernet0" -Dhcp Enabled

Konfigurasi DNS Client

Membaca dan Menyetel DNS Server

Alamat IP memberi tahu di mana mesin lain berada, tetapi user mengetik nama — dan nama diterjemahkan ke IP oleh DNS. DNS client Windows mengelola server yang dipakai untuk terjemahan itu:

Melihat dan menyetel DNS server
Get-DnsClientServerAddress -InterfaceAlias "Ethernet0" -AddressFamily IPv4
 
Set-DnsClientServerAddress -InterfaceAlias "Ethernet0" -ServerAddresses ("192.168.10.5", "8.8.8.8")

Perhatikan penggunaan tanda kurung dengan -ServerAddresses — PowerShell memperlakukannya sebagai array, sehingga dua server DNS diterima sekaligus. Set-DnsClientServerAddress adalah versi PowerShell dari jendela konfigurasi DNS di GUI, tanpa klik.

Membersihkan Cache DNS

Ketika resolusi DNS berubah (misalnya IP sebuah layanan dipindah), cache DNS lokal bisa menyimpan jawaban lama dan membuat koneksi gagal. Clear-DnsClientCache mengosongkannya:

Membersihkan cache DNS
Clear-DnsClientCache

Kebiasaan yang bagus: bersihkan cache sebelum menguji resolusi yang baru diubah — jika tidak, hasil tes bisa menyesatkan karena masih memakai jawaban lama.

Troubleshooting Jaringan

Ini bagian yang paling sering dipakai di lapangan. Ketika semuanya tampak salah, kalian tidak menebak — kalian memeriksa berlapis.

Test-Connection: Ping Dasar

Test-Connection adalah implementasi ping:

Ping ke gateway dan host
Test-Connection -ComputerName "192.168.10.1" -Count 4
 
Test-Connection -ComputerName "8.8.8.8" -Count 4 -Quiet

-Quiet mengembalikan True atau False — sempurna untuk dipakai dalam kondisi if skrip monitoring. Jika ping ke gateway gagal tetapi ping ke IP lain berhasil, masalahnya ada di jalur lokal, bukan internet.

Test-NetConnection: Jauh Lebih Kuat dari Ping

Banyak server memblokir ping (ICMP) tetapi tetap menerima koneksi. Test-NetConnection tidak hanya ping — ia juga menguji port TCP, yang jauh lebih relevan untuk layanan nyata:

Menguji koneksi TCP ke port tertentu
Test-NetConnection -ComputerName "www.example.com" -Port 443
 
Test-NetConnection -ComputerName "192.168.10.30" -Port 3389

Perintah kedua menguji apakah port RDP mesin itu terbuka — diagnosa "RDP saya tidak bisa konek" dalam satu baris.

Traceroute dan Resolve-DnsName

Untuk melihat jalur yang dilewati paket menuju tujuan, Test-NetConnection punya parameter -TraceRoute (versi Windows dari tracert):

Traceroute ke host eksternal
Test-NetConnection -ComputerName "8.8.8.8" -TraceRoute

Dan untuk memeriksa terjemahan nama ke IP — pertanyaan pertama setiap masalah resolusi DNS:

Memeriksa resolusi DNS
Resolve-DnsName -Name "www.example.com"
 
Resolve-DnsName -Name "www.example.com" -Server "8.8.8.8"

Baris kedua memaksa query ke server DNS tertentu — berguna untuk membandingkan jawaban DNS internal vs publik. Resolve-DnsName menggantikan nslookup yang sudah tua dan menghasilkan objek terstruktur, bukan teks mentah.

Tip

Urutan diagnosa yang benar: (1) Test-Connection ke IP — apakah jalur dasar hidup? (2) Resolve-DnsName — apakah nama ter-resolve benar? (3) Test-NetConnection -Port — apakah layanan di ujung menerima koneksi? Urutan ini memecah masalah menjadi lapisan fisik, DNS, dan aplikasi — dan selalu mengarahkan kalian ke lapisan yang benar-benar bermasalah.

Praktik Terbaik

  1. Baca dulu sebelum mengubah. Selalu mulai dari Get-NetAdapter, Get-NetIPAddress, dan Get-DnsClientServerAddress. Menyetel konfigurasi tanpa membaca kondisi saat ini adalah tindakan buta.
  2. Dokumentasikan perubahan. Simpan konfigurasi lama ke file sebelum Set-*. Ketika sesuatu rusak, kalian tahu persis nilai apa yang harus dikembalikan.
  3. Uji setelah mengubah. Setelah menyetel IP atau DNS, langsung verifikasi dengan Test-Connection dan Resolve-DnsName. Jangan pergi sebelum membuktikan koneksi bekerja.
  4. Hati-hati dengan mesin remote. Perubahan IP atau DNS memutus sesi yang sedang berjalan. Selalu sediakan jalur pemulihan: konsol fisik, IPMI, atau tugas terjadwal yang memulihkan konfigurasi.

Penutup

Di episode 21 ini kalian telah melengkapi kotak peralatan jaringan: membaca dan mengelola adaptor (Get-NetAdapter, Set-NetAdapter, Enable-NetAdapter, Disable-NetAdapter), konfigurasi IP (Get-NetIPAddress, New-NetIPAddress, Set-NetIPAddress, Remove-NetIPAddress) beserta mode DHCP dan statis, DNS client (Get-DnsClientServerAddress, Set-DnsClientServerAddress, Clear-DnsClientCache), serta troubleshooting berlapis dengan Test-Connection, Test-NetConnection untuk port TCP, traceroute, dan Resolve-DnsName.

Poin kunci yang harus kalian bawa:

  • Adaptor adalah titik awal — periksa Get-NetAdapter sebelum menebak masalah di tempat lain.
  • Test-NetConnection -Port menguji layanan nyata, bukan sekadar ping.
  • Urutan diagnosa: jalur fisik, resolusi DNS, lalu port aplikasi.
  • Simpan konfigurasi lama dan sediakan jalur pemulihan sebelum menyetel ulang jaringan remote.

Kalian kini bisa menyetel dan mendiagnosa jaringan dari konsol. Namun seiring skrip kalian bertambah banyak dan kompleks, ada pertanyaan yang semakin mendesak: bagaimana menulis skrip yang benar-benar layak produksi? Di episode 22 selanjutnya kita akan membahas Script Best Practices & Standards: organisasi kode, konvensi penamaan, comment-based help, penanganan error yang matang, performa pipeline, hingga keamanan kredensial. Sampai jumpa!

Belajar PowerShell - Network Configuration | Belajar PowerShell