Script file batch berjalan jauh ke masa ketika MS-DOS dirilis pada tahun 1981 sebagai sistem operasi untuk komputer pribadi IBM. Itu pada dasarnya adalah tiruan dari CP / M Digital Research, salah satu sistem operasi pertama untuk komputer mikro. Microsoft membuatnya berjalan pada PC IBM yang bertindak sebagai kernel dan shell bersama dengan beberapa fitur tambahan dari shell lainnya. Microsoft merilis beberapa versi DOS dari waktu ke waktu kemudian memperluas file batch dengan banyak cara. Kemudian datang Windows yang dengan cepat berevolusi dari aplikasi ke sistem operasi penuh. Microsoft menyertakan juru bahasa baris perintah yang disebut "Command Prompt" (atau "cmd") dalam sistem operasi Windows NT yang pada dasarnya menggunakan perintah yang sama dari Command.com tetapi dengan fitur tambahan.
Berbeda dengan versi sebelumnya yang hanya akan memungkinkan file .BAT dijalankan di MS-DOS prompt, interpreter baris perintah 32-bit yang disempurnakan ini menjadikan bahasa batch lebih berguna karena banyaknya peningkatan dan fitur tambahan. Namun, interpreter baris perintah tidak dapat memberikan konsistensi karena mereka tidak dapat digunakan untuk mengotomatiskan fungsi beragam dari antarmuka pengguna grafis. Itu tidak cukup kuat untuk memuaskan pengguna listrik. Jadi, Microsoft mulai bekerja pada pendekatan baru untuk manajemen baris perintah dan akhirnya merilis CLI baru yang ditingkatkan yang disebut "Monad" pada tahun 2002. Ia berhasil mengatasi kekurangan pendahulunya. Pada 2005, Microsoft sudah merilis tiga versi Monad. Pada tahun 2006, nama itu secara resmi diubah menjadi "Windows PowerShell" yang mengucapkan selamat tinggal pada skrip file batch lama-sekolah.
Command Prompt atau cmd adalah juru bahasa command line untuk sistem operasi Microsoft Windows yang digunakan untuk mengotomatiskan berbagai tugas terkait sistem menggunakan skrip dan file batch. Sering disebut sebagai cmd.exe, ini adalah program windows yang mengeluarkan perintah ke sistem seperti perintah manajemen file seperti salin, tempel, dan hapus. Ini mengemulasi sebagian besar kemampuan baris perintah yang tersedia di MS-DOS melalui antarmuka baris perintah. Awalnya dirilis sebagai interpreter baris perintah (CLI) untuk keluarga sistem operasi Windows NT dan dikembangkan oleh Therese Stowell. CMD memiliki perintah bawaan untuk menjalankan berbagai tugas, yang sebagian besar dapat dijalankan sebagai administrator. Command Prompt dapat diakses melalui pintasannya yang terletak di Start Menu atau melalui perintah Run cmd. Ini tersedia di hampir semua versi windows.
PowerShell adalah versi lebih lanjut dari cmd yang digunakan untuk menjalankan program eksternal seperti ping atau salin dan mengotomatiskan banyak tugas administrasi sistem yang berbeda yang tidak dapat diakses dari cmd.exe. Ini sangat mirip dengan cmd kecuali lebih kuat dan menggunakan perintah yang berbeda sama sekali. Ini lebih dari sekadar cangkang; ini adalah lingkungan scripting yang dirancang khusus untuk administrator sistem untuk melakukan tugas administratif pada beberapa sistem operasi. Ini adalah alat baris perintah berbasis tugas dan bahasa scripting yang dibangun di atas kerangka .Net. Ini memanggil sekumpulan perintah yang sangat kaya dalam konteks skrip otomatisasi yang disebut "cmdlets" yang memungkinkan administrasi dalam sistem windows. Mereka juga mudah digunakan dengan sintaks terstandarisasi yang membuatnya mudah untuk membuat skrip yang kuat. Ini adalah interpreter baris perintah yang jauh lebih kuat daripada Prompt Perintah yang dapat menafsirkan perintah Batch dan perintah PowerShell.
Baik cmd dan PowerShell adalah alat baris perintah yang kuat yang digunakan untuk mengotomatisasi tugas-tugas administrasi sistem dengan menulis file skrip / kumpulan. Namun, cmd memiliki kemampuan administrasi yang terbatas dibandingkan dengan PowerShell, yang, di sisi lain, merupakan implementasi shell yang lebih maju dan modern dengan fitur dan peningkatan tambahan. PowerShell dirancang khusus untuk administrator sistem untuk mengontrol dan mengotomatiskan administrasi sistem windows.
PowerShell sebagian besar digunakan oleh administrator sistem untuk mengelola jaringan serta sistem dan aplikasi yang merupakan bagian dari jaringan itu. Ia dapat secara efisien menginterpretasikan perintah Batch dan perintah PowerShell, sedangkan cmd hanya dapat menginterpretasikan perintah Batch. Command Prompt menyediakan sarana untuk berinteraksi dengan program komputer dengan bantuan perintah yang dikeluarkan pengguna.
Berbeda dengan Command Prompt, yang hanya bisa menyalurkan aliran teks, output yang dihasilkan dari cmdlet lebih dari sekadar aliran teks; mereka menyalurkan objek di antara cmdlet yang memungkinkan mereka untuk berbagi data yang lebih kompleks antara cmdlet.
PowerShell menggunakan fungsi yang jauh lebih kuat yang disebut "cmdlets" yang merupakan rangkaian kaya perintah untuk mengeksekusi query yang lebih kuat dengan output yang lebih baik daripada yang ditemukan di baris perintah Windows. Fungsi PowerShell jauh lebih rumit namun kuat daripada Command Prompt tradisional dan mereka sangat baik dapat digunakan dengan sintaks standar.
PowerShell lebih dari sekedar shell; ini adalah lingkungan skrip yang kuat berdasarkan kerangka .Net yang dapat digunakan untuk menjalankan skrip kompleks untuk administrasi sistem windows lebih mudah dan efisien daripada dengan Command Prompt. Selain itu, PowerShell mencakup beberapa peningkatan dan fitur tambahan yang memperpanjang penggunaannya yang pada akhirnya meningkatkan kegunaannya.
Baik PowerShell dan Command Prompt adalah alat baris perintah berbasis tugas yang digunakan untuk secara otomatis mengotomatiskan tugas-tugas administrasi sistem, tetapi ada perbedaan yang signifikan antara keduanya dalam hal fungsi dan kegunaan. CMD adalah shell command line dasar yang diperkenalkan dengan keluarga sistem operasi Windows NT dengan sintaks dan fungsi standar yang sama dengan DOS. PowerShell, di sisi lain, adalah shell baris perintah berbasis tugas dan bahasa scripting berdasarkan .Net framework yang digunakan untuk mengotomatisasi pemrosesan batch dan membuat alat manajemen sistem. Tidak seperti cmd, ia menggunakan serangkaian perintah yang disebut cmdlet untuk menjalankan tugas administrasi sistem.