PowerShell adalah kerangka kerja otomatisasi tugas dan manajemen konfigurasi yang dikembangkan oleh Microsoft, terdiri dari shell baris perintah dan bahasa skrip terkait. Awalnya ditujukan untuk administrator sistem, PowerShell menyediakan antarmuka yang kuat untuk mengotomatisasi tugas dan mengelola konfigurasi sistem menggunakan skrip dan cmdlet (perintah ringan). Selama bertahun-tahun, PowerShell telah berkembang dalam kemampuan dan telah berevolusi secara signifikan, menekankan integrasinya dengan kerangka kerja .NET dan memungkinkan penggunaan lintas platform dengan PowerShell Core.
PowerShell pertama kali diperkenalkan pada tahun 2006 sebagai "Monad," terutama untuk meningkatkan administrasi sistem di Windows. Ini menciptakan jembatan antara pengguna dan proses sistem yang mendasarinya, dengan fokus pada skrip baris perintah. Desainnya dipengaruhi oleh shell Unix, dengan penekanan pada pemrograman berorientasi objek melalui kemampuan kerangka kerja .NET.
Dengan dirilisnya Windows Management Framework (WMF) 3.0 pada tahun 2012, PowerShell menjadi lebih kuat, memperkenalkan fitur seperti alur kerja dan modul. Kehadiran PowerShell Core (versi 6) pada tahun 2016 menandai tonggak penting, karena dirancang untuk berjalan di macOS dan Linux, memperluas jangkauannya di luar ekosistem Windows.
Saat ini, PowerShell terus dikembangkan dengan model sumber terbuka, memungkinkan kontribusi dari pengembang di seluruh dunia. Versi terbaru telah menggabungkan fungsionalitas canggih, menjadikannya relevan tidak hanya untuk administrasi sistem tetapi juga untuk tugas skrip dan otomatisasi yang lebih luas di berbagai platform. Hubungannya dengan .NET telah semakin dalam, menjadikannya alat skrip yang kuat bagi pengembang di berbagai lingkungan.
Perintah PowerShell, yang dikenal sebagai cmdlet, mengikuti konvensi penamaan kata kerja-nama benda.
Get-Process
PowerShell mendukung piping, memungkinkan keluaran dari satu cmdlet digunakan sebagai masukan untuk cmdlet lainnya.
Get-Process | Where-Object { $_.CPU -gt 100 }
Variabel dalam PowerShell diawali dengan $
dan dapat menyimpan berbagai jenis data.
$greeting = "Halo, Dunia!"
PowerShell secara native mendukung array dan hash tables untuk manipulasi data yang mudah.
$array = @(1, 2, 3)
$hash = @{"kunci" = "nilai"}
Anda dapat mendefinisikan fungsi yang dapat digunakan kembali dalam PowerShell.
function Greet {
param($name)
"Halo, $name!"
}
Penanganan kesalahan dalam PowerShell dapat dikelola menggunakan blok try/catch.
try {
Get-Process -Name "tidak ada"
} catch {
Write-Host "Terjadi kesalahan: $_"
}
Skrip PowerShell disimpan dengan ekstensi .ps1
dan dapat dieksekusi langsung.
# myscript.ps1
Write-Host "Menjalankan skrip PowerShell saya"
PowerShell memperlakukan data sebagai objek, memudahkan akses dan manipulasi properti.
$process = Get-Process -Name "powershell"
$process.Id
PowerShell memungkinkan Anda untuk mengemas dan mendistribusikan fungsi sebagai modul.
Import-Module MyModule
PowerShell mendukung remoting, memungkinkan eksekusi perintah di mesin jarak jauh.
Enter-PSSession -ComputerName Server01
PowerShell berjalan di runtime .NET, yang memfasilitasi eksekusi skrip dan cmdlet PowerShell dengan cara yang sangat efisien.
Beberapa IDE dan editor mendukung pengembangan PowerShell, termasuk:
Untuk membuat skrip PowerShell, pengembang dapat menulis kode mereka di editor teks mana pun, menyimpannya dengan ekstensi .ps1
. Proyek dapat mencakup beberapa skrip dan modul, yang diorganisir ke dalam folder.
PowerShell banyak digunakan di berbagai sektor untuk:
PowerShell memiliki hubungan dengan berbagai bahasa pemrograman:
Skrip PowerShell dapat diterjemahkan ke bahasa yang mendukung otomatisasi dan tugas skrip, seperti Python atau Bash. Meskipun tidak ada alat terjemahan sumber ke sumber langsung yang ada, konversi manual dapat melibatkan penulisan ulang cmdlet menjadi perintah atau fungsi yang setara dalam bahasa target.
Alat terjemahan sumber ke sumber yang ada termasuk: