PowerShell dengan cepat menjadi bahasa scripting yang lebih disukai dan CLI of Power Users serta IT Pros. Ada baiknya mempelajari beberapa perintah untuk memulai, jadi kami punya 5 cmdlet berguna untuk Anda pelajari hari ini.
Get-Command adalah salah satu cmdlet yang paling berguna di seluruh PowerShell, karena ini akan membantu Anda mengatasi PowerShell dengan memungkinkan Anda mencari cmdlet tertentu. Menggunakan Get-Command sendiri diakui tidak terlalu berguna karena hanya akan memuntahkan setiap perintah yang dimiliki PowerShell.
Tetapi dari sini kita dapat melihat bahwa objek-objek yang memiliki keluaran PowerShell memiliki properti Nama dan sebuah ModuleName. Dengan menggunakan informasi ini, kami dapat menggiling butir pencarian kami, dengan mencari cmdlet yang mengandung istilah tertentu. Sebagai contoh jika saya ingin mencari semua cmdlet yang mengandung kata "IP", saya bisa melakukan ini:
Get-Command -Name * IP *
Seperti yang Anda lihat, kami masih mendapatkan beberapa hasil, pilihan kami berikutnya adalah mencari di dalam modul tertentu. Dalam kasus kami, saya akan memilih modul NetTCPIP.
Get-Command -Module NetTCPIP -Name * IP *
Setelah Anda menemukan cmdlet yang Anda cari menggunakan Get-Command, Anda akan ingin mengetahui sintaks dan bagaimana Anda dapat menggunakan cmdlet tertentu. Di sinilah Get-Help datang, jika Anda pernah menggunakan baris perintah di Windows Anda mungkin melakukan sesuatu seperti ini:
ipconfig /?
Nah itu tidak berfungsi di PowerShell, ini karena di PowerShell ruang digunakan untuk memisahkan perintah dari parameternya. Jadi, alih-alih kami menggunakan Get-Help dan meneruskan nama cmdlet ke Get-Help sebagai parameter.
Get-Help Get-Process
Get-Member memungkinkan kita untuk mendapatkan informasi tentang objek yang mengembalikan sebuah cmdlet. Hasil tangkapan dengan get-member, adalah bahwa ia bergantung pada fitur pipeline PowerShell, untuk mendemonstrasikan ini, kita akan dapat menggunakan cmdlet Get-Process.
Seperti yang Anda lihat, output PowerShell menunjukkan kepada kita beberapa properti, yang dapat Anda lihat di bagian atas setiap kolom. Masalah pertama adalah, sementara itu adalah properti yang mungkin Anda cari sebagian besar waktu, masih ada lebih banyak lagi. Masalah kedua adalah bahwa itu tidak menunjukkan metode apa pun yang kita dapat memanggil objek. Untuk melihat metode dan properti kami dapat menyalurkan output kami ke Get-Member, seperti:
Dapatkan-Proses | Dapatkan-Anggota
Meskipun mungkin tidak ada artinya bagi Anda saat ini, Anda akan cepat atau lambat harus menggunakan Get-Member, dan semakin cepat Anda belajar menggunakannya, semakin baik. Sebagai contoh, menggunakan informasi dari output kita bisa melakukan sesuatu seperti:
Start-Process notepad.exe
$ NotepadProc = Dapatkan -Proses -Name notepad
$ NotepadProc.WaitForExit ()
Mulai-proses calc.exe
Skrip itu akan meluncurkan notepad, kemudian memberikan output dari "Get-Process -Name notepad" ke variabel $ NotepadProc, kemudian kita memanggil metode WaitForExit pada $ NotepadProc yang menyebabkan skrip berhenti hingga Anda menutup notepad, setelah Anda menutup notepad maka kalkulator akan diluncurkan.
Meskipun tidak persis cmdlet, ini adalah salah satu variabel khusus yang paling sering digunakan di PowerShell. Nama resmi untuk $ _ adalah "objek pipa saat ini". Ini digunakan dalam blok skrip, filter, klausa proses fungsi, di mana-objek, foreach-object dan switch. Namun lebih mudah untuk dijelaskan dengan contoh, yang membawa kita ke cmdlet kami berikutnya dan terakhir, Dimana-Obyek.
Di mana-Obyek melakukan persis seperti apa kedengarannya, ia memilih objek berdasarkan apakah ia memenuhi kriteria tertentu. Ini akan menyatukan $ _, dan properti yang bisa kita lihat menggunakan Get-Member. Untuk mendemonstrasikan ini, kita akan menyalurkan keluaran Get-Process ke dalam cmdlet Tempat-Obyek.
Dapatkan-Proses | Di mana-Obyek $ _. Nama -eq “iexplore”
Jadi apa yang terjadi di sini, Anda bertanya? Nah hal pertama yang kita lakukan adalah mendapatkan daftar proses di komputer kita dan mengirimkan output (menggunakan karakter |) ke cmdlet Di mana-Obyek kami, yang mengambil blok skrip sebagai parameter. Blok skrip (ditentukan oleh kurung kurawal) menginstruksikan cmdlet Di mana-Obyek untuk hanya memilih objek di mana parameter nama mereka sama dengan "iexplore", dan jadi kami hanya mendapatkan daftar contoh IE yang sedang berjalan. Hanya itu saja, bersenang-senang!