PowerShell: Shell Windows yang Menjadi Inklusif

PowerShell merupakan shell sekaligus bahasa scripting.yang pada awalnya dikembangkan khusus untuk berjalan di sistem operasi Windows.

Daftar Isi:

 

Istilah "PowerShell" awalnya merujuk pada sebuah Shell (command line interpreter) dan bahasa scripting di Windows yang memiliki nama resmi berdasarkan rilisnya yaitu "Windows PowerShell". Namun dalam sejak akhir 2018 penyebutan PowerShell menjadi ambigu sejak eksisnya PowerShell generasi terbaru, "PowerShell Core", sebab publik mengaggap bahwa PowerShell telah merujuk pada dua software yang berbeda satu sama lain.

Mari kita telusuri dua varian PowerShell ini untuk mengetahui sejauh mana perbedaan dan hubungan di antara keduanya.


1. Windows PowerShell

Windows PowerShell merupakan salah satu komponen built-in berbagai varian sistem operasi Windows, rilis pertamanya adalah Windows PowerShell versi 1.0 yang muncul pada November 2006 untuk beberapa varian Windows kala itu (Windows XP SP2, Windows Server 2003 SP1, dan Window Vista). 

Versi awal Shell debutan Windows ini merupakan implementasi puncak dari konsep yang pertama kali diperkenalkan Jeffrey Snover ke khalayak menggunakan istilah "Monad" dalam paper yang dipublikasikannya pada tahun 2003. Sebelum kemudian dirilis secara resmi untuk pertama kalinya oleh Microsoft dengan mengganti namanya menjadi "Windows PowerShell". Sampai sejauh ini, Windows PowerShell 5.1 menjadi versi terbarunya.

 

2. PowerShell Core

PowerShell Core adalah produk dari sebuah proyek yang awalnya diinisiasi Microsoft (kini dikelola komunitas), versi pertamanya yaitu PowerShell Core 6.0 dirilis pada Januari 2018 silam. Sampai sejauh ini, PowerShell 7.3 adalah versi teranyar dari varian PowerShell Core ini. 

 

3. Perbedaan Windows PowerShell dan PowerShellCore

3.1  Basis Framework dan Kompatibilitas

Windows PowerShell dibangun di atas .NET Framework, suatu framework yang menjadi bagian dari .NET (dulu disebut .NET Core). Ketika .NET adalah lingkungan sofware open-source nan lengkap untuk pengembangan aplikasi yang lintas-platform, posisi .NET Framework merupakan implementasi original dari .NET. Perbedaanya yaitu NET Framework dikhusukan untuk sistem operasi Windows saja.

Sedangkan PowerShell Core dibangun di atas .NET, oleh sebabnya versi awal varian ini diberi nama "PowerShell Core 6.x". Karena .NET Core ini jugalah sehingga PowerShell menjadi Shell yang lintas-platform (Windows, MacOS, Linux), sebagaimana yang diharapkan Microsoft. 

Berikut adalah versi dari .NET dalam berbagai versi minor PowerShell Core:

PowerShell .NET
PowerShell Core 6.0 .NET Core 2.0
PowerShell Core 6.1 .NET Core 2.1
PowerShell Core 6.2 .NET Core 2.1
PowerShell 7.0 (LTS) .NET Core 3.1 (LTS)
PowerShell 7.1 .NET 5.0
PowerShell 7.2 (LTS) .NET 6.0 (LTS)
PowerShell 7.3 .NET 7.0
PowerShell 7.4 (Preview) .NET 7.0
 
*LTS: Long Term Support
*Merah: Dukungan aktif 

 

3.2  Sifat Software dan Lisensi

Sebagai komponen dari sistem operasi yang propetary, ini menjadikan Windows PowerShell berisifat tidak permisif, closed-sourced dan penggunaanya harus melalui Windows yang tentu tunduk di bawah berbagai lisensi Microsoft. 

Berbeda dengan PowerShell Core yang open-source, sebagai konsekuensi lain dari .NET sebagai basis framework pengembangannya. Bahkan PowerShell Core berada di bawah lisensi MIT—salah satu lisensi sofware paling minim batasan.

 

3.3  Nama Executeble

Windows PowerShell memiliki nama file executable yaitu "powershell". Di lain sisi PowerShell Core bernama "pwsh". Pembedaan ini diperuntukkan utamanya bagi binary file PowerShell yang berjalan di Windows, agar dimungkinkan pada satu komputer menggunakan Windows PowerShell dan PowerShell Core secara bersamaan. 

 

3.4  Ketersediaan Modul

Demi alasan kompatibilitas, beberapa modul krusial yang ada pada Windows PowerShell 5.x tidak disertakan lagi dalam PowerShell Core 7.x, yaitu antara lain:

  • ISE (Integrated Scripting Environment)
  • Microsoft.PowerShell.LocalAccounts
  • Microsoft.PowerShell.ODataUtils
  • PSScheduledJob
  • PSWorklflow
  • PSWorkflowUtility

Sedangkan berikut beberapa penambahan fitur yang disertakan dalam PowerShell 7.x tetapi tidak terdapat dalam Windows PowerShell 5.x dapat dilihat secara lengkap di sini.

 

4. Kesimpulan

Dalam terminologi pengembangan software, dapat dikatakan bahwa PowerShell Core tidak lain merupakan fork dari Windows PowerShell. Akan tetapi "fork" di sini dalam artian yang positif, bukan sebagaimana anggapan umum tentang forsk software yang kerap digadang-gadang menjadi kompetitor software pendahulunya. Justru Windows PowerShell menjadi bagian integral dari proyek PowerShell Core, karena proyek tersebut dibuat sendiri oleh perusahaan pemegang hak kekayaan intektual Shell ini, Microsoft. 

Meskipun terdapat sejumlah perbedaan muatan fitur dari Windows PowerShell dan PowerShell Core sebagaimana yang sedikit kita lihat di atas, sebenarnya perbedaan paling signifikan di antara keduanya terletak pada jaungkauan platform, sebagaimana harapan diadakannya proyek PowerShell Core oleh Microsoft. Sedangkan sifat sofware dan lisensi tidak lain merupakan konsekusi dari digunkannya .NET, karena hanya dengan .framework inilah yang memungkinkan terealisainya tujuan utama Microsoft terhadap PowerShell, menjadikannya Shell tersebut inklusif.

Terakhir, ketidakkonsistenan penyebutan dua varian Shell ini telah diusahakan untuk diatasi oleh Microsoft dengan secara universal dalam tiga tahun ke belakang menggunakan istilah "PowerShell" untuk merujuk Baik itu kepada Windows PowerShell maupun PowerShell Core dalam berbagai dokumentasi resminya.

Posting Komentar

Lebih baru Lebih lama

Formulir Kontak