Belajar PowerShell - PowerShell Fundamentals & Console Basics
Episode 2 of 31

Belajar PowerShell - PowerShell Fundamentals & Console Basics

Memahami fondasi PowerShell: perbedaan powershell.exe dan pwsh.exe, memilih host yang tepat antara console, ISE, VS Code, dan Windows Terminal, membedah struktur cmdlet dengan konvensi Verb-Noun, menggunakan Get-Help dan Update-Help, mengeksplorasi sistem dengan Get-Command, Get-Member, dan Get-Module, serta mengatur execution policy.

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

Pendahuluan

Di episode 1 kita memahami mengapa PowerShell ada — lahir dari Monad untuk memecahkan kekacauan administrasi Windows. Sekarang saatnya menyentuh bagian yang sebenarnya: console dan fondasi perintah. Episode ini adalah "tata krama dasar" — apa yang kalian lihat di layar, bagaimana perintah disusun, bagaimana bertanya pada sistem, dan aturan keamanan yang mengatur eksekusi script.

Jika episode 0 menyiapkan environment dan episode 1 menyiapkan mental, episode 2 menyiapkan bahasa. Kuasai bagian ini, dan semua episode berikutnya — variabel, operator, kondisi, hingga fungsi — akan terasa seperti menambah kosakata pada bahasa yang sudah kalian pahami.

Console: powershell.exe vs pwsh.exe

Ada dua engine PowerShell yang kalian jumpai di mesin Windows, dan membedakannya adalah keterampilan pertama yang wajib dimiliki:

EngineExecutableVersiKarakteristik
Windows PowerShellpowershell.exe5.1Bawaan Windows; kompatibilitas maksimal
PowerShell (Core)pwsh.exe7.xModern, cross-platform, lebih cepat

Keduanya bisa hidup berdampingan di mesin yang sama. Cara paling cepat memastikan engine mana yang sedang berjalan:

Tampilkan edisi engine aktif
$PSVersionTable.PSEdition

Nilai Core berarti PowerShell 7, nilai Desktop berarti Windows PowerShell 5.1. Sepanjang series ini kita memakai pwsh, kecuali ada catatan khusus untuk kompatibilitas 5.1.

Console vs ISE vs VS Code

Kalian butuh tempat menulis dan menjalankan PowerShell. Setiap host punya kekuatannya sendiri:

HostTerbaik UntukCatatan
Console (pwsh)Menjalankan perintah langsungCepat, minimalis, host default
Windows TerminalKonsol modern dengan tabHost terbaik untuk console
PowerShell ISEWarisan, scripting 5.1Tidak lagi dikembangkan
VS Code + ekstensi PowerShellDevelopment script seriusIntelliSense, debugger, git

Aturan praktis: console untuk mengeksplorasi, VS Code untuk membangun. Kalian akan sering berpindah — mengetes perintah di console, lalu menuangkannya ke script di VS Code. Windows Terminal merekomendasikan keduanya karena memberi tab untuk banyak sesi.

Profil: Konsol yang Siap Dipakai

Setiap kali pwsh menyala, ia membaca file profil — sebuah script yang dieksekusi otomatis. Ini tempat menyimpan alias, fungsi, dan warna favorit agar setiap sesi terasa "rumah". Lihat lokasi profil kalian:

Lihat lokasi profil
$PROFILE

Jika file belum ada, buat dulu. Contoh profil sederhana:

Contoh profil PowerShell
if (-not (Test-Path $PROFILE)) {
    New-Item -Path $PROFILE -ItemType File -Force
}
 
Set-Location C:\Users\arman\Documents
Set-Alias g git
function kls {
    Get-ChildItem | Format-Wide -Column 4
}
Write-Host "Profil dimuat - selamat datang, $env:USERNAME" -ForegroundColor Green

$PROFILE adalah file yang sama untuk powershell.exe dan pwsh.exe — jika kalian memakai keduanya, buat profil terpisah untuk masing-masing agar pengaturan tidak tercampur.

Struktur Perintah: Verb-Noun

Setiap perintah PowerShell disebut cmdlet (command-let), dan namanya selalu mengikuti pola Verb-Noun. Contoh paling dasar:

Anatomi cmdlet
Get-Process -Name pwsh
  • Get adalah verb (kata kerja): mengambil sesuatu.
  • Process adalah noun (kata benda): apa yang diambil.
  • -Name pwsh adalah parameter: penyaring hasil.

Kejeniusan konvensi ini: karena namanya konsisten, kalian bisa menebak perintah. Ingin membuat service? New-Service. Menghapus file? Remove-Item. Menjalankan sesuatu? Invoke-Command. Sistem menjadi dapat diprediksi.

Verb Umum dan Terverifikasi

VerbMaknaContoh
GetMengambil/membacaGet-Process
SetMengubah nilai yang adaSet-Content
NewMembuat baruNew-Item
RemoveMenghapusRemove-Item
AddMenambahkan ke koleksiAdd-Content
StartMemulaiStart-Service
StopMenghentikanStop-Process
InvokeMenjalankan aksiInvoke-WebRequest

Microsoft memelihara daftar approved verbs — verb resmi yang boleh dipakai. Fungsinya agar seluruh ekosistem (Microsoft maupun komunitas) berbicara dengan kosakata yang sama. Memakai verb di luar daftar akan memicu peringatan saat kalian membuat fungsi sendiri di episode lanjutan.

Bantuan: Get-Help

Tidak ada yang bisa menghafal semua parameter. Justru itulah mengapa PowerShell menyediakan sistem bantuan bawaan yang kaya:

Cara paling dasar menanyakan bantuan
Get-Help Get-Process
OpsiFungsi
-FullDokumentasi lengkap termasuk parameter dan contoh lanjutan
-DetailedDetail sedang, tanpa bagian paling teknis
-ExamplesHanya contoh penggunaan
-OnlineMembuka dokumentasi terbaru di browser
-?Pintasan cepat Get-Help dari console

PowerShell 7 punya bantuan updatable — dokumen yang bisa diunduh agar selalu segar:

Perbarui bantuan (jalankan sebagai administrator)
Update-Help -Force

Selain bantuan per cmdlet, ada topik konseptual about_* yang menjelaskan aturan umum — seperti kebijakan eksekusi dan variabel otomatis. Coba Get-Help about_* untuk melihat daftarnya, atau langsung Get-Help about_Execution_Policies.

Discovery: Get-Command, Get-Member, Get-Module

Bantuan saja tidak cukup — kalian perlu mengeksplorasi apa yang tersedia di sistem.

Get-Command menemukan perintah. Cari semua cmdlet dengan kata tertentu memakai wildcard:

Cari semua perintah dengan kata Process
Get-Command -Name *Process*

Get-Member membongkar isi objek — properti dan method apa saja yang dimiliki sebuah nilai. Ini jendela untuk memahami apa yang bisa kalian lakukan dengan data yang kalian pegang:

Lihat properti dan method objek Process
Get-Process pwsh | Get-Member

Get-Module mendaftar modul yang tersedia dan dimuat — unit yang membawa kumpulan cmdlet, misalnya modul Active Directory atau Azure. Show-Command menampilkan GUI kecil untuk menyusun perintah dengan form parameter.

Tip

Kombinasi Get-Command, Get-Help, dan Get-Member adalah trio eksplorasi: temukan perintahnya, baca dokumentasinya, lalu bedah objek yang dikembalikannya. Kebiasaan ini akan menggantikan rasa buntu dengan rasa ingin tahu.

Execution Policy: Aturan Main Keamanan

Execution policy bukan proteksi antivirus — ia adalah pengingat: Windows tidak akan menjalankan script PowerShell secara diam-diam. Ada lima mode utama:

PolicyPerilaku
RestrictedTidak ada script yang boleh berjalan (default lama)
AllSignedSemua script harus ditandatangani
RemoteSignedScript lokal bebas; script dari internet harus bertanda tangan
UnrestrictedSemua script boleh berjalan, dengan peringatan
BypassSemua script berjalan tanpa blokir

Pada Windows 10/11 modern, nilai default umumnya RemoteSigned — kompromi yang bijak: script yang kalian tulis sendiri berjalan normal, sedangkan script yang diunduh dari internet (yang paling berisiko) menuntut tanda tangan.

Lihat policy saat ini, lalu ubah jika perlu:

Lihat dan atur execution policy
Get-ExecutionPolicy
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Scope menentukan seberapa luas aturan berlaku: Process (sesi ini saja), CurrentUser (pengguna ini), atau LocalMachine (semua pengguna, butuh administrator). Mulailah dari CurrentUser — paling aman untuk belajar.

Important

Jangan pernah menyalin script dari internet lalu menjalankannya dengan -ExecutionPolicy Bypass secara membabi buta. Policy ini adalah sabuk pengaman — menggantinya ke Bypass untuk selamanya sama seperti melepas sabuk pengaman agar tidak mengganggu. Pahami dulu apa yang kalian jalankan.

Penutup

Episode 2 ini menutup fondasi bahasa: kalian sekarang tahu cara membedakan powershell.exe dan pwsh.exe, memilih host yang tepat, membaca struktur cmdlet Verb-Noun, bertanya pada sistem lewat Get-Help dan Get-Command, membedah objek dengan Get-Member, serta memahami execution policy dan scope-nya.

Inti yang harus kalian bawa:

  • pwsh.exe (7+) adalah engine utama series; powershell.exe (5.1) untuk kompatibilitas.
  • Console untuk mengeksplorasi, VS Code untuk membangun, Windows Terminal untuk menjalankan keduanya.
  • Semua perintah mengikuti pola Verb-Noun — pahami polanya, dan sistem jadi mudah ditebak.
  • Trio eksplorasi: Get-Command cari, Get-Help baca, Get-Member bedah.
  • Biarkan execution policy pada RemoteSigned dan ubah hanya di scope yang perlu.

Di episode 3 selanjutnya kita masuk ke "bahan baku" script: variables & data types — bagaimana menyimpan nilai di $variable, mengenal tipe seperti string, angka, boolean, array, dan hashtable, serta teknik memanipulasi string yang akan kalian pakai di hampir setiap script. Pastikan pwsh kalian hangat, karena materi berikutnya semakin konkret!