If-Koubou

Geek School: Belajar Menggunakan Cmdlet di PowerShell

Geek School: Belajar Menggunakan Cmdlet di PowerShell (Bagaimana caranya)

Jika Anda telah menggunakan ipconfig atau ping melalui command prompt, Anda setengah jalan untuk menjadi ninja PowerShell. Jadi, datanglah dan bergabunglah bersama kami ketika kami menemukan cmdlet di instalasi Sekolah Geek ini.

Pastikan untuk memeriksa artikel pertama kami yang memperkenalkan PowerShell, dan nantikan terus sisa seri kami sepanjang minggu.

Anatomi Cmdlet

Di bagian pertama dari Seri kami melihat sebuah cmdlet yang terlihat seperti ini:

Pembaruan-Bantuan

Cmdlet PowerShell memiliki sintaks Verb-Kata benda, yang dapat dilihat di atas. Yang penting untuk dicatat adalah bahwa nomina selalu tunggal meskipun cmdlet mungkin mengembalikan lebih dari satu hasil. Untuk melihat daftar kata kerja hukum di PowerShell Anda dapat menggunakan cmdlet Get-Verb.

Mengetahui verba hukum dan mengingat aturan kata benda tunggal benar-benar membantu menebak nama cmdlet. Misalnya, Anda mau mendapatkan Daftar jasa dan status mereka - itu benar, semudah Get-Service. Menurut Anda bagaimana kami akan melakukannya mendapatkan daftar berlari proses - Benar, Get-Process akan melakukan trik.

Dapatkan-Proses

Ini membuatnya sangat mudah untuk bekerja dengan teknologi apa pun. Misalnya, jika Anda memiliki cmdlet Exchange dimuat, kita bisa dengan mudah mendapatkan daftar kotak surat di server dengan menggunakan:

Dapatkan-Kotak Surat

Namun, ada pengecualian. Saling tukar, semua perintah spesifik teknologi lainnya akan membutuhkan awalan. Misalnya, jika kami ingin mendapatkan pengguna yang saat ini masuk melalui Remote Desktop, kami akan mengetik:

Dapatkan-RDUserSession

Yang bisa dilihat di screenshot di bawah ini.

Catatan: Screenshot ini diambil pada kotak Server 2012 karena di sanalah Anda akan menemukan sebagian besar modul spesifik teknologi.

Beberapa waktu yang lalu, saya membaca artikel oleh Don Jones, Godfather of PowerShell, di mana dia menjelaskan bahwa Exchange dikirim sebelum awalan ini ditambahkan ke cmdlet, jadi tidak pernah menerapkannya dan tidak akan pernah.

Alias

Fitur lain PowerShell dilengkapi dengan kemampuan untuk memiliki beberapa cara menjalankan perintah yang sama - alias, jika Anda mau. Yang luar biasa tentang mereka adalah bahwa mereka menyertakan banyak perintah yang mungkin telah Anda gunakan di command prompt, serta beberapa alias Linux. Misalnya, di PowerShell kita bisa mendapatkan daftar direktori dengan menggunakan:

Dapatkan-ChildItem

Digunakan untuk menggunakan command prompt? Jangan khawatir, mereka sudah meliput Anda.

Memiliki latar belakang Linux? Mereka memiliki Anda tertutup di sana juga.

Ketika Anda telah melakukan scripting selama beberapa tahun, Anda cenderung malas dan mulai sering menggunakan alias, tetapi ini tidak membantu pendatang baru yang akan membaca kode kita. Untuk melihat perintah apa alias berjalan di bawah kap, Anda dapat menggunakan yang berikut:

Dapatkan-Alias ​​-Nama ls

Di sisi lain, jika Anda merasa sudah waktunya untuk meningkatkan permainan Anda, Anda dapat menggunakan parameter definisi untuk mendapatkan semua alias untuk cmdlet:

Dapatkan-ChildItem -Definition Get-ChildItem

Jika Anda berasal dari latar belakang lain, Anda dapat menambahkan alias Anda sendiri dengan melakukan hal berikut:

New-Alias ​​-Name icanhazfilez -Nilai Dapatkan-ChildItem

Tentunya, Anda harus mengganti "icanhazfilez" dengan nama alias baru Anda dan Get-ChildItem dengan cmdlet yang Anda inginkan untuk berjalan di bawah kap mesin.

Satu hal yang perlu diperhatikan adalah Anda kehilangan semua alias yang telah Anda tetapkan ketika Anda menutup shell. Anda bisa menyelesaikan ini dengan menambahkan definisi mereka ke skrip profil Anda.

Memotong Parameter

Windows PowerShell juga memungkinkan Anda memotong nama parameter hingga titik di mana mereka menjadi ambigu, yaitu mengatakan sampai titik di mana PowerShell tidak dapat lagi mencari tahu parameter yang Anda bicarakan. Sebagai contoh:

Dapatkan-Layanan -Name 'Apple Mobile Device' -ComputerName localhost

Sama dengan:

Dapatkan-Layanan -Na 'Apple Mobile Device' -Com localhost

Jika Anda kebetulan membuat nama parameter terlalu ambigu, Anda akan mendapatkan kesalahan.

Perintah Legacy

Akhirnya, perintah yang Anda kenal dan cintai masih akan berfungsi di PowerShell.

ping www.google.com

Ingat saja bahwa aplikasi warisan seperti ping mengeluarkan string, dan sering ada cara yang lebih baik untuk melakukan hal yang sama menggunakan cmdlet PowerShell.

Alih-alih menghasilkan untai panjang teks, kita sekarang ditinggalkan dengan objek, yang akan kita lihat di edisi besok Geek School.