7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. ASP.NET

Menyapa PowerShell

Read Time: 10 mins

Indonesian (Bahasa Indonesia) translation by Taufan Prasetyo Basri (you can also view the original English article)

PowerShell sudah dalam pembangunan selama sepuluh tahun. Microsoft terus berinvestasi dalam pembangunan dan adopsi. Investasi ini telah mengubah kemudahan dan ketahanan yang pengembang dan admin dapat mengotomatisasi tugas-tugas Windows.


Apa itu PowerShell?

PowerShell memecahkan administrasi dan adaptasi tantangan dengan mulus mengintegrasikan .NET Framework.

PowerShell adalah Microsoft tugas otomatisasi kerangka, terdiri dari shell baris perintah, lingkungan scripting terpadu (ISE), bahasa scripting yang dibangun di .NET Framework, API memungkinkan Anda untuk host PowerShell dalam aplikasi .NET, dan didistribusikan Otomasi platform. PowerShell menyediakan akses penuh ke COM dan WMI, memungkinkan Anda untuk melakukan tugas-tugas pada sistem Windows lokal dan remote.

PowerShell adalah platform generasi baru untuk otomatisasi, dalam hal ini memecahkan tantangan administrasi dan kemampuan beradaptasi dengan mulus mengintegrasikan .NET Framework. Ada baiknya untuk pengembang, administrator, penguji dan lebih. Berdasarkan .NET, alat yang dijalankan menurunkan biaya, sementara memberikan pengembang dan administrator cara sederhana dan perusahaan-siap untuk mengotomatisasi, mengukur dan meningkatkan semua proses mereka.


Ikuti sepanjang

Dalam intro ini, saya akan menyoroti beberapa kedalaman dan luasnya PowerShell membawa ke meja. Hal-hal seperti permainan mengubah objek pipa, REPL (baca, loop eval, print), .NET integrasi dan banyak lagi.

Jika Anda menjalankan Windows 7 atau 8, PowerShell telah terinstal. Download PowerShell v3 untuk Windows 7 di sini. Anda perlu Windows 7 SP1 dan download juga bekerja untuk Windows 2008 R2 SP1 dan Windows 2008 SP2. Jika Anda menjalankan Windows 2003, XP atau Vista, Anda akan perlu untuk menetap untuk PowerShell v2 di sini.


Apa itu baik untuk? Benar-benar segala sesuatu!

Dari penggelaran beberapa sumber daya untuk Azure, untuk menangani perangkat lunak Anda membangun untuk integrasi berkesinambungan, mengakses layanan web atau Endpoint sisanya. PowerShell telah Anda tertutup dan menyediakan lebih banyak lagi.

  • Iris dan dadu teks, XML, CSV, dan JSON dengan mudah
  • Menanamkan PowerShell untuk memberikan kemampuan skrip untuk aplikasi C# Anda
  • Membuat aplikasi GUI lima sampai sepuluh kali lebih cepat dengan sedikit kode
  • Leverage PowerShell's kemampuan untuk bekerja dengan Internet
  • Berinteraksi dengan dll dan membuat objek, secara otomatis menampilkan properti, dan memanggil metode dalam hidup sesi interaktif
  • Membangun bahasa (DSLs) dan kosa kata untuk mengungkapkan solusi lebih jelas
  • Bekerja dengan Microsoft Office melalui komponen objek Model (COM)
  • PowerShell v3 fitur

Bootstrap PowerShell

Apa yang dimaksud dengan cmdlet? Cmdlet adalah blok bangunan dasar di PowerShell dan dinyatakan sebagai sepasang kata-kata, yang membantu untuk membuat mereka diri deskriptif. Sebagai contoh:

PowerShell termasuk ratusan inti cmdlet dan Anda dapat menulis Anda sendiri.

Menghafal cmdlet dua

PowerShell membuat discoverability mudah. Setiap kali Anda berjalan ke layar biru PowerShell dan tidak yakin apa yang harus dilakukan, menggunakan perintah Get.

Cmdlet Get-perintah mendapat semua perintah yang diinstal pada komputer, termasuk cmdlet, alias, fungsi, alur kerja, filter, script, dan aplikasi.

Pada dasarnya, perintah Get-menunjukkan Anda semua hal yang dapat Anda lakukan dalam sesi PowerShell saat ini.

Dapatkan-perintah

Dapatkan-perintah mendukung wildcard. Mari kita katakan saya ingin melihat semua cmdlets yang memiliki kata kerja, tanyakan?

Berikut adalah apa yang saya dapatkan setelah menekan masuk.

Apa cmdlet berakhir di kata benda Item?

Perhatikan bahwa Anda mulai untuk melihat kata lain, seperti menghapus, baru, Hapus dan Set.

Selanjutnya saya akan menggunakan beberapa cmdlet untuk meringkas apa saja tersedia di sesi saya pada salah satu kotak saya ketika saya meluncurkan konsol PowerShell.

Aku memanggil perintah-Dapatkan, kelompok itu, dan semacam itu. Di sini, aku bisa melihat bahwa saya memiliki 1000 + cmdlet untuk bekerja dengan. Saya menjalankan PowerShell v3 dengan tambahan modul terinstal, jadi Anda mungkin berbeda.

Modul apa Apakah cmdlet ini berasal dari? Kita bisa menjawab pertanyaan itu dengan cara ini:

Ada banyak saya dapat dicapai dengan PowerShell.

Get-Help

Get-Help tidak tepat itu, ini akan menampilkan bantuan untuk cmdlet Anda adalah apa yang harus tahu lebih banyak tentang. Tidak hanya mudah untuk mendapatkan bantuan, sangat mudah untuk membuat/termasuk bantuan untuk cmdlet/advanced fungsi Anda mengembangkan, sebuah topik untuk artikel lain. Memiliki membantu di ujung jari Anda adalah waktu yang sangat besar.

Berikut ini adalah versi singkat dari output.

Masih lebih mudah; Ada sebuah saklar untuk ini pada cmdlet Get-Help yang akan membawa Anda di sini.

Ingin melihat hanya contoh bagaimana menggunakan cmdlet? Menggunakan saklar - contoh. Plus, Anda dapat menyalin dan menyisipkan contoh langsung ke konsol dan menjalankannya.

Ini yang mudah dan cepat.


PowerShell dengan mudah bekerja dengan layanan Web

W3C mendefinisikan "Layanan Web" sebagai:

[...] sebuah sistem perangkat lunak yang dirancang untuk mendukung interaksi untuk mesin dioperasikan melalui jaringan. Memiliki antarmuka yang dijelaskan dalam format mesin-processable (khusus WSDL). Sistem lain berinteraksi dengan layanan Web dalam cara yang ditentukan oleh Deskripsi menggunakan sabun pesan, biasanya disampaikan menggunakan HTTP dengan XML serialisasi dalam hubungannya dengan standar Web yang berhubungan dengan lainnya.

PowerShell membuat pekerjaan cepat Webservices, menggunakan cmdlet New-WebServiceProxy. Mengubah $zipcode, menjalankannya dan mendapatkan info cuaca terbaru.

Hasil

Aku menyimpan objek proxy di $svc dan kemudian memanggil metode GetCityForecastByZIP, menangkap hasil dalam $result. Mengulang melalui ForecastResult array, saya mengubah catatan data. Catatan yang kota dan DaytimeHigh pada tingkat yang berbeda dalam hirarki.

Teknik yang saya gunakan adalah menciptakan kunci/nilai pasangan untuk hashtable. @ {} adalah PowerShell sintaks untuk hashtable baru. Menggunakan [PSCustomObject] adalah accelerator PowerShell, yang memungkinkan saya, untuk satu hal, untuk membuat objek kustom dari hashtable.

Layanan web Weather.asmx kembali hirarkis XML. Pada segelintir PowerShell perintah, saya kembali berbentuk data dan diformat (tanggal) sesuai dengan keinginan saya. Untuk contoh ini, saya memilih untuk membiarkan PowerShell mencetaknya. Sekali saya punya data dalam sesi PowerShell saya, saya sekarang terhubung ke ekosistem PowerShell dan dapat dengan mudah pipa array kustom benda untuk cmdlet lainnya untuk mendorongnya untuk layanan web lain, menghasilkan HTML, menyimpannya ke file, membuat CSV file atau ekspor ke SQL databa se.

Bekerja dengan CSV, JSON dan XML

Mengiris dan dicing format teks adalah PowerShell sweet spot. Di sini, saya akan mengkonversi format umum tiga ke objek PowerShell. Untuk CSV dan JSON, saya akan menggunakan ConvertFrom benar-* cmdlet, dan untuk XML, saya akan menggunakan pedal gas yang mengambil XML dan menciptakan Tambahkan.

Jadi, kami mengambil tiga format heterogen, dan pada akhirnya, dilakukan agregasi selama salah satu bidang. Saya bisa diperoleh setiap feed data tersebut dari berbagai tempat, CSV dari jaringan berbagi, JSON untuk permintaan ISTIRAHAT dan XML dari layanan Web. Seperti saya katakan, ini adalah PowerShell sweet spot.


Mari kita gunakan pencarian kericau 's REST API pada baris perintah. Saya membangun Url, yang dapat Anda gunakan di browser Anda, dan kemudian saya gunakan cmdlet PowerShell Invoke-RestMethod. Hal mengirimkan permintaan ke layanan lain dan menentukan jika respon JSON atau XML. Di sini saya sedang meminta respons JSON Jadi, tanyakan-RestMethod mengkonversi hasil untuk sebuah array object PowerShell. Aku pipa mereka untuk Pilih cmdlet (alias pilih kata-kata benda-objek) memilih hanya tiga bidang. Pikirkan ini sebagai proyeksi, mirip dengan LINQ atau SQL.

Hasil

Sangat mudah. Memeriksa video saya lakukan untuk versi 2: "PowerShell, ShowUI dan Twitter API". Mini WPF kericau app di segenggam PowerShell.


Kompilasi C# pada terbang dalam PowerShell

PowerShell adalah bahasa ditafsirkan. Jadi, akan ada denda. Hal ini tidak menjadi perhatian utama, tetapi, kadang-kadang, Anda akan membutuhkan kecepatan bahasa yang dikompilasi. PowerShell memungkinkan Anda mengkompilasi C# pada terbang dalam memori dalam sesi PowerShell Anda, dengan menggunakan parameter - TypeDefinition pada cmdlet Add-jenis. Perhatikan di sini-string diidentifikasi oleh @"" @. Mereka super bermanfaat ketika mengutip teks. Saya mendorong Anda untuk mengeksplorasi lebih lanjut dengan menambahkan-jenis dan PowerShell yang mengutip aturan.

Berinteraksi dengan dll

Sekarang, katakanlah saya tidak memberikan Anda kode sumber - hanya dikompilasi DLL. Tidak masalah: menambahkan-jenis memiliki - Path parameter.

Memberi perhatian khusus untuk ini. Menggunakan Add-jenis cara ini adalah bagaimana Anda dengan mudah membungkus DLL .NET berasal dari siapa pun, jika mereka belum sudah menyediakan antarmuka PowerShell. Hal ini berlaku apakah DLL dari Microsoft, DELL, Citrix atau pengembang lain.


Penutup

Jadi yang tidak untuk sekarang. Apakah Anda ingin melihat lebih banyak konten khusus Powershell di Nettuts +? Marilah kita tahu di bawah ini!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Scroll to top
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.