5 Cmdlets untuk Mendapatkan Anda Bermula dengan PowerShell
PowerShell dengan cepat menjadi bahasa skrip pilihan dan CLI Pengguna Kuasa serta Kebaikan IT. Ia bernilai belajar beberapa arahan untuk memulakan anda, jadi kami mempunyai 5 cmdlet berguna untuk anda belajar hari ini.
Get-Command
Get-Command adalah salah satu cmdlet yang paling berguna di seluruh PowerShell, kerana ia akan membantu anda mendapatkan genggaman dengan PowerShell dengan membiarkan anda mencari cmdlet tertentu. Menggunakan Get-Command sendiri adalah diakui tidak begitu berguna kerana ia hanya akan meludahkan setiap arahan yang PowerShell ada.
Tetapi dari sini kita dapat melihat bahawa objek yang output PowerShell mempunyai kedua-dua Nama dan sifat ModuleName. Dengan menggunakan maklumat ini, kita boleh mendapatkan bijirin carian kami, dengan mencari cmdlet yang mengandungi istilah tertentu. Sebagai contoh jika saya ingin mencari semua cmdlet yang mengandungi perkataan "IP", saya boleh melakukan ini:
Get-Command -Name * IP *
Seperti yang anda dapat lihat, kami masih mendapat sedikit hasil, pilihan seterusnya adalah mencari dalam modul tertentu. Dalam kes kami, saya akan memilih modul NetTCPIP.
Get-Command-Module NetTCPIP -Name * IP *
Get-Help
Sebaik sahaja anda telah menemui cmdlet yang anda cari menggunakan Get-Command, anda akan ingin mengetahui sintaks dan bagaimana anda boleh menggunakan cmdlet khusus itu. Di sinilah Get-Bantuan masuk, jika anda pernah menggunakan baris arahan di Windows, anda mungkin melakukan sesuatu seperti ini:
ipconfig /?
Nah itu tidak berfungsi di PowerShell, ini kerana di PowerShell ruang digunakan untuk memisahkan perintah dari parameternya. Jadi sebaliknya kita menggunakan Get-Help dan lulus nama cmdlet ke Get-Help sebagai parameter.
Get-Help Get-Process
Dapatkan Ahli
Get-Member membolehkan kita mendapatkan maklumat mengenai objek yang dikembalikan oleh cmdlet. Tangkap dengan ahli, adalah bergantung kepada ciri saluran paip PowerShell, untuk menunjukkan ini, kita akan dapat menggunakan cmdlet Get-Process.
Seperti yang anda dapat lihat output PowerShell menunjukkan kepada kami beberapa sifat, yang boleh anda lihat di bahagian atas setiap lajur. Masalah pertama ialah, sementara itu adalah sifat yang mungkin anda cari paling banyak masa, masih banyak lagi. Masalah kedua ialah ia tidak menunjukkan sebarang kaedah yang boleh kita panggil pada objek itu. Untuk melihat kaedah dan sifat kami boleh mengalirkan output kami kepada Get-Ahli, seperti:
Get-Process | Dapatkan Ahli
Walaupun ia tidak bermakna apa-apa untuk anda sekarang, anda akan terlebih dahulu perlu menggunakan Get-Ahli, dan lebih cepat anda belajar untuk menggunakannya lebih baik. Contohnya, dengan menggunakan maklumat daripada output kami boleh melakukan sesuatu seperti:
Notepad.exe proses Mula
$ NotepadProc = Get-Process -Name notepad
$ NotepadProc.WaitForExit ()
Start-Process calc.exe
Skrip itu akan melancarkan notepad, kemudian menyerahkan output "Get-Process -Name notepad" kepada pembolehubah $ NotepadProc, maka kami memanggil kaedah WaitForExit pada $ NotepadProc yang menyebabkan skrip untuk berhenti seketika sehingga anda menutup notepad, setelah anda menutup notepad maka kalkulator akan dilancarkan.
$ _ (Objek Paip Semasa)
Walaupun tidak betul-betul cmdlet, ia adalah salah satu pemboleh ubah khas yang paling banyak digunakan dalam PowerShell. Nama rasmi untuk $ _ ialah "objek saluran paip semasa". Ia digunakan dalam blok skrip, penapis, fasal proses fungsi, di mana-objek, foreach-objek dan suis. Walau bagaimanapun, lebih mudah untuk menerangkan dengan contoh, yang membawa kita ke cmdlet seterusnya dan terakhir, Where-Object.
Mana-objek
Di mana-Objek tidak tepat apa yang ia suka, ia memilih objek berdasarkan sama ada ia memenuhi kriteria tertentu. Ini akan mengumpulkan $ _, dan sifat-sifat yang boleh kita lihat menggunakan Get-Member. Untuk menunjukkan ini, kami akan mengalirkan output Get-Process ke cmdlet Dimana-Objek.
Get-Process | Where-Object $ _. Name -eq "iexplore"
Jadi apa yang berlaku di sini anda bertanya? Nah, perkara pertama yang kami lakukan adalah mendapatkan senarai proses di komputer kami dan lulus output (menggunakan aksara) ke cmdlet Di mana-Objek kami, yang mengambil blok skrip sebagai parameter. Blok skrip (ditakrifkan oleh pendakap kerinting) mengarahkan cmdlet Di mana-Objek hanya untuk memilih objek di mana parameter nama mereka sama dengan "iexplore", dan oleh itu kita hanya mendapat senarai contoh IE yang berjalan. Itu sahaja yang ada padanya, bersenang-senang!