apa keunggulan Powershell dibandingkan cygwin / unix-shell

9

Perbedaan yang jelas saya sadari, adalah kemampuan untuk antarmuka ke produk MS tertentu, seperti Exchange. Tetapi bagi yang tidak harus mengelola produk semacam itu, apa kelebihan Powershell? Apa alasan untuk mempelajari Powershell sama sekali (dengan asumsi saya fasih dengan bash dan cygwin)?

Moshe
sumber

Jawaban:

18

Keuntungan yang paling jelas: Selama tidak ada output teks (atau perintah warisan) yang terlibat dalam pipa, Anda tidak memindahkan teks melalui pipa, tetapi contoh objek framework .NET, dengan semua properti dan metode mereka.

Ini memungkinkan penanganan pipeline yang lebih ekspresif dan kurang ambigu yang juga sama sekali tidak dipengaruhi oleh pengaturan lokal dan bahasa (misalnya, pikirkan format tanggal atau angka dan bagaimana Anda harus memperlakukannya sebagai string secara normal).

Ini juga berarti bahwa Anda memiliki akses ke banyak kemampuan kerangka NET. Dalam lingkungan scripting.

Tomalak
sumber
6

Tanpa masuk ke penilaian nilai tentang paradigma keuntungan utama dari PowerShell adalah. Net integrasi dan incumbency - dari server Windows 2008 dan seterusnya dibundel secara default dan dimuat dalam paket layanan pada 2003 dan 2003 R2.

Agar adil, ada beberapa pilihan lain untuk scripting - misalnya Perl dan Python. Python juga memberi Anda opsi untuk menggunakan IronPython jika Anda menginginkan integrasi .Net asli. Bahkan, IronPython akan menginstal dengan memuaskan hanya dengan meletakkannya di direktori. Anda dapat dengan mudah membundelnya dalam suatu aplikasi tanpa perlu langkah instalasi terpisah.

Kekuatan kunci Powershell adalah sedikit pedang bermata dua. Sementara streaming objek .net cukup berguna dan memiliki kelebihan, ia menempatkan lebih banyak asumsi pada kemampuan komponen untuk bermain dengan baik dengan kerangka kerja. Agar ini berfungsi, Anda harus membungkus barang dengan cmdlet. Sementara output tekstual agak lebih rendah dan membutuhkan parsing, itu menempatkan lebih sedikit beban pada komponen untuk bermain dengan baik dengan framework.

Seiring waktu, saya akan berharap untuk melihat lebih banyak ekosistem Windows (baik komponen MS dan pihak ketiga) datang dengan pembungkus cmdlet sehingga mereka bekerja dengan Powershell. Ketika ini terjadi, kasus untuk Powershell akan menjadi lebih kuat.

Secara historis, salah satu kelemahan tradisional utama Windows dari perspektif administrasi adalah dukungan skrip yang buruk. MS mengakui hal ini beberapa tahun yang lalu dan setelah beberapa upaya yang lemah (misalnya WSH) Powershell adalah upaya MS yang paling kredibel sejauh ini untuk memperbaiki kekurangan itu.

ConcernedOfTunbridgeWells
sumber
2

Saya pikir kemenangan terbesar untuk PowerShell adalah bahwa Anda dapat menyalurkan apa saja ke apa saja tanpa harus menguraikan teks dan / atau grok sed dan awk. Tanpa membawa benda-benda jahat itu ke dalam persamaan, pikirkan PowerShell memiliki sed dan awk otomatis untuk menghubungkan perintah dalam sebuah pipa.

x0n
sumber
2

Keuntungan:-

  1. Otomasi Tugas: - Tugas seperti menambahkan pengguna ke 1000 mesin adalah pekerjaan yang membosankan secara manual. Tetapi dengan bantuan PowerShell, Anda hanya perlu menulis skrip sederhana dan skrip tersebut dijalankan, maka secara otomatis akan mengkonfigurasi semua klien. Dengan demikian menghemat waktu dengan mengulangi langkah-langkah secara otomatis. Skrip cadangan \ pengembalian Windows PowerShell dapat dikembangkan dan dijadwalkan (dengan Penjadwal Tugas Windows), sedangkan Administrasi Pusat digunakan untuk pencadangan dan pemulihan sekali pakai. Windows PowerShell memiliki keuntungan berjalan melawan snapshot SQL daripada database produksi. Salah satu parameter dari perintah Windows PowerShell akan menyebabkan snapshot SQL akan dihasilkan, dan kemudian Windows PowerShell akan menjalankan tindakan terhadap snapshot alih-alih database produksi. Ini akan mengurangi dampak sumber daya dari operasi cadangan pada lingkungan produksi. Dengan Windows PowerShell, administrator SharePoint akan memiliki lebih banyak kontrol opsi untuk pencadangan atau pemulihan.

  2. Peningkatan kemampuan remoting: - Signifikansi ada dua, pertama, desktop Windows 7 dapat berkomunikasi dengan server menggunakan perintah PowerShell. Akibatnya teknisi dengan laptop Windows 7 dapat mengkonfigurasi server mereka dari jarak jauh dengan menjalankan skrip PowerShell. Kedua, skrip logon klien yang ditulis dalam PowerShell, yang berada di server, dapat berjalan di Windows 7 dengan lebih mudah. Juga menggunakan PowerShell, kita dapat dengan mudah mengontrol mesin jarak jauh, dapat melakukan tugas penting pada mereka dan dapat dengan mudah menerapkan perubahan ini dalam skala besar. Remoting menggunakan sumber daya jaringan. Jadi ketika kita akan bekerja dengan PowerShell, kita tidak menggunakan GUI dan karenanya, bandwidth yang dibutuhkan untuk tugas tertentu berkurang dan masalah overloading jaringan terpecahkan.

  3. Konsistensi: - Jika Anda memiliki prosedur yang ditetapkan untuk menyelesaikan tugas, menggunakan Windows Powershell akan memastikan Anda tidak pernah melewatkan langkah, mengotomatiskan sebanyak yang Anda bisa, dan meminta Powershell meminta Anda untuk hal-hal yang tidak dapat otomatis.

  4. Dukungan .NET: - Powershell mendukung kerangka .NET. Oleh karena itu semua fungsi sistem dapat dengan mudah ditambahkan ke skrip PowerShell dan dengan demikian merupakan bantuan bagi programmer dalam mengembangkan skrip. Jadi mengotomatiskan tugas-tugas VDI jauh lebih mudah, sederhana dan efisien.

  5. Kurang kerja manual: - Administrator sekarang dapat membuat, menghapus atau memodifikasi pengaturan mesin Virtual dari jarak jauh hanya dengan menulis skrip. Dia tidak perlu pergi ke pc individu dan menyelesaikan pekerjaan. Juga skrip yang ditulis dapat diterima di semua komputer. Jadi administrator tidak perlu menulis ulang mereka lagi dan lagi.

  6. Dapat digunakan kembali: - Skrip yang pernah ditulis untuk melakukan tugas tertentu dapat disimpan untuk keperluan selanjutnya dan juga dapat digabungkan dengan skrip lain untuk melakukan tugas yang berbeda. Jadi tugas berulang dapat dilakukan dengan cara yang lebih sederhana dengan hanya menjalankan skrip. Ini menghemat waktu dan uang administrator dalam mengkonfigurasi mesin.

  7. Dukungan pipelining: - Kemenangan terbesar untuk powershell adalah Anda dapat menyalurkan apa saja ke apa saja tanpa harus menguraikan teks. Anda dapat memberikan output dari satu perintah sebagai input ke set baru dan dengan demikian dapat menyelesaikan tugas-tugas kompleks.


sumber
0

Cygwin tidak dijamin tersedia untuk setiap versi Windows. Terakhir saya memeriksa dipertanyakan pada mesin 64 bit. Powershell menjadi shell perintah default untuk windows, dan akan menawarkan akses "asli" ke semua sumber daya pada mesin Windows.

Eric Z Beard
sumber
Saya menggunakan cygwin pada Vista 64 bit, bekerja dengan sempurna.
lajos