Beranda » bagaimana » Geek School Pelajari Cara Mengotomatiskan Windows dengan PowerShell

    Geek School Pelajari Cara Mengotomatiskan Windows dengan PowerShell

    Dalam Geek School edisi ini, kami akan membantu Anda memahami bahasa scripting PowerShell yang kuat yang dibangun langsung ke Windows, dan sangat berguna untuk diketahui di lingkungan TI.

    Meskipun seri ini tidak terstruktur dalam ujian, mempelajari PowerShell adalah salah satu hal paling penting yang dapat Anda lakukan sebagai administrator jaringan, jadi jika ada satu hal yang ingin Anda pelajari untuk membantu karir TI Anda, ini dia. Plus, ini sangat menyenangkan.

    pengantar

    PowerShell adalah alat otomatisasi paling kuat yang ditawarkan Microsoft, dan keduanya merupakan shell dan bahasa scripting.

    Harap dicatat bahwa seri ini didasarkan pada PowerShell 3, yang dikirimkan bersama Windows 8 dan Server 2012. Jika Anda menjalankan Windows 7, silakan unduh pembaruan PowerShell 3 sebelum melanjutkan.

    Temui Konsol dan ISE

    Ada dua cara berinteraksi dengan PowerShell di luar kotak, Konsol dan Lingkungan Scripting Terpadu - juga dikenal sebagai ISE. ISE telah jauh meningkat dari versi mengerikan yang dikirimkan dengan PowerShell 2 dan dapat dibuka dengan menekan kombinasi keyboard Win + R untuk memunculkan run box, kemudian mengetik powershell_ise dan menekan enter.

    Seperti Anda dapat melihat olahraga ISE tampilan split sehingga Anda dapat dengan cepat skrip sementara masih bisa melihat hasilnya di bagian bawah ISE. Setengah bagian bawah ISE, di mana hasil skrip Anda dicetak, juga dapat digunakan sebagai prompt REPL - mirip dengan command prompt. The v3 ISE akhirnya menambahkan dukungan untuk intellisense baik di panel script maupun konsol interaktif.

    Atau, Anda dapat berinteraksi dengan PowerShell menggunakan PowerShell Console, yang akan saya gunakan untuk sebagian besar seri ini. PowerShell Console berperilaku sangat mirip dengan prompt perintah - Anda cukup memasukkan perintah dan hasilnya ditampilkan. Untuk membuka Konsol Windows PowerShell, sekali lagi tekan kombinasi keyboard Win + R untuk membuka kotak jalankan dan ketik PowerShell kemudian tekan enter.

    REPL meminta seperti ini luar biasa untuk kepuasan instan: Anda memasukkan perintah dan Anda mendapatkan hasil. Meskipun Konsol tidak menawarkan intellisense, konsol menawarkan sesuatu yang disebut penyelesaian tab yang fungsinya hampir sama - cukup mulai mengetik perintah dan tekan tab untuk menelusuri kemungkinan kecocokan..

    Menggunakan Sistem Bantuan

    Di versi PowerShell sebelumnya, file bantuan disertakan saat Anda menginstal Windows. Ini adalah solusi yang bagus untuk sebagian besar tetapi meninggalkan kami dengan masalah yang signifikan. Ketika tim bantuan PowerShell harus berhenti bekerja pada file bantuan, pengembang PowerShell masih sibuk mengkode dan membuat perubahan. Ini berarti bahwa ketika PowerShell dikirim, file bantuan tidak benar karena tidak berisi perubahan yang lebih baru yang telah dibuat ke kode. Untuk mengatasi masalah ini, PowerShell 3 hadir tanpa file bantuan di luar kotak dan menyertakan sistem bantuan yang dapat diperbarui. Ini berarti sebelum Anda melakukan apa pun, Anda ingin mengunduh file bantuan terbaru. Anda dapat melakukannya dengan membuka PowerShell Console dan menjalankan:

    Perbarui-Bantuan

    Selamat menjalankan perintah PowerShell pertama Anda! Yang benar adalah bahwa perintah Pembaruan-Bantuan memiliki lebih banyak pilihan daripada hanya menjalankannya, dan untuk melihatnya, kami ingin melihat bantuan untuk perintah tersebut. Untuk melihat bantuan untuk sebuah perintah, Anda cukup memberikan nama perintah yang Anda ingin bantuan ke parameter Name pada perintah Get-Help, misalnya:

    Get-Help -Name Update-Help

    Anda mungkin bertanya-tanya bagaimana menafsirkan semua teks itu, maksud saya mengapa ada dua banyak informasi di bawah bagian sintaks dan mengapa ada begitu banyak tanda kurung di semua tempat? Hal pertama yang pertama: alasan ada dua blok informasi di bawah bagian sintaks adalah karena mereka mewakili berbagai cara untuk menjalankan perintah. Ini secara teknis disebut set parameter dan Anda hanya dapat menggunakannya satu per satu (Anda tidak dapat mencampur parameter dari set yang berbeda). Pada tangkapan layar di atas, Anda dapat melihat bahwa set parameter atas memiliki parameter SourcePath sedangkan bagian bawah tidak. Alasannya adalah bahwa Anda akan menggunakan set parameter teratas (yang menyertakan SourcePath) jika Anda memperbarui file bantuan Anda dari mesin lain di jaringan Anda yang sudah mengunduhnya, sementara Anda tidak perlu menentukan jalur sumber jika hanya ingin mengambil file terbaru dari Microsoft.

    Untuk menjawab pertanyaan kedua, ada sintaks tertentu yang membantu file ikuti dan ini dia:

    • Kurung kotak di sekitar nama parameter dan jenisnya berarti itu adalah parameter opsional dan perintah akan berfungsi dengan baik tanpa itu.
    • Tanda kurung di sekitar nama parameter berarti bahwa parameter tersebut adalah parameter posisi.
    • Hal di sebelah kanan parameter di kurung siku memberi tahu Anda tipe data parameter yang diharapkan.

    Meskipun Anda harus belajar membaca sintaks file bantuan, jika Anda tidak yakin tentang parameter tertentu, tambahkan saja -Tepat sampai akhir perintah get help Anda dan gulir ke bawah ke bagian parameter, di mana ia akan memberi tahu Anda sedikit lebih banyak tentang masing-masing parameter.

    Get-Help -Name Update-Help -Full

    Hal terakhir yang perlu Anda ketahui tentang sistem bantuan adalah bagaimana Anda dapat menggunakannya untuk menemukan perintah, yang sebenarnya sangat mudah. Soalnya, PowerShell menerima wildcard hampir di mana saja, jadi menggunakannya bersamaan dengan perintah Get-Help memungkinkan Anda menemukan perintah dengan mudah. Misalnya, saya mencari perintah yang berhubungan dengan Layanan Windows:

    Dapatkan-Bantuan -Nama * layanan *

    Tentu, semua informasi ini mungkin tidak berguna untuk kelelawar, tetapi percayalah, luangkan waktu dan pelajari cara menggunakan sistem bantuan. Ini berguna setiap saat, bahkan untuk para penulis tingkat lanjut yang telah melakukan ini selama bertahun-tahun.

    Keamanan

    Ini tidak akan menjadi pengantar yang tepat tanpa menyebutkan keamanan. Kekhawatiran terbesar bagi tim PowerShell adalah bahwa PowerShell menjadi titik serangan terbaru dan terhebat untuk skrip kiddies. Mereka telah menempatkan beberapa langkah keamanan untuk memastikan bahwa ini tidak terjadi, jadi mari kita melihatnya.

    Bentuk perlindungan paling dasar berasal dari fakta bahwa ekstensi file PS1 (ekstensi yang digunakan untuk menunjukkan skrip PowerShell) tidak terdaftar dengan host PowerShell, yang sebenarnya terdaftar dengan Notepad. Itu berarti jika Anda mengklik dua kali pada file itu akan terbuka dengan notepad alih-alih berjalan.

    Kedua, Anda tidak dapat menjalankan skrip dari shell dengan hanya mengetik nama skrip, Anda harus menentukan path lengkap ke skrip. Jadi, jika Anda ingin menjalankan skrip pada drive C Anda, Anda harus mengetik:

    C: \ runme.ps1

    Atau jika Anda sudah berada di root drive C Anda dapat menggunakan yang berikut ini:

    .\ runme.ps1

    Akhirnya, PowerShell memiliki sesuatu yang disebut Kebijakan Eksekusi, yang menghentikan Anda dari hanya menjalankan skrip lama. Bahkan, secara default, Anda tidak dapat menjalankan skrip apa pun dan perlu mengubah kebijakan eksekusi Anda jika Anda ingin diizinkan untuk menjalankannya. Ada 4 Kebijakan Eksekusi yang penting:

    • Terbatas: Ini adalah konfigurasi default di PowerShell. Pengaturan ini berarti tidak ada skrip yang dapat berjalan, terlepas dari tanda tangannya. Satu-satunya hal yang dapat dijalankan di PowerShell dengan pengaturan ini adalah perintah individual.
    • AllSigned: Pengaturan ini memungkinkan skrip dijalankan di PowerShell. Skrip harus memiliki tanda tangan digital terkait dari penerbit tepercaya. Akan ada konfirmasi sebelum Anda menjalankan skrip dari penerbit tepercaya.
    • RemoteSigned: Pengaturan ini memungkinkan skrip dijalankan, tetapi mengharuskan skrip dan file konfigurasi yang diunduh dari Internet memiliki tanda tangan digital terkait dari penerbit tepercaya. Skrip dijalankan dari komputer lokal tidak perlu ditandatangani. Tidak ada konfirmasi sebelum menjalankan skrip.
    • Tidak dibatasi: Ini memungkinkan skrip yang tidak ditandatangani untuk dijalankan, termasuk semua skrip dan file konfigurasi yang diunduh dari Internet. Ini akan termasuk file dari Outlook dan Messenger. Risiko di sini adalah menjalankan skrip tanpa tanda tangan atau keamanan. Kami menyarankan bahwa Anda tidak pernah menggunakan pengaturan ini.

    Untuk melihat bagaimana Kebijakan Eksekusi Anda saat ini diatur, buka Konsol PowerShell dan ketik:

    Dapatkan-EksekusiPolicy

    Untuk kursus ini dan sebagian besar keadaan lainnya, Kebijakan RemoteSigned adalah yang terbaik, jadi lanjutkan dan ubah kebijakan Anda menggunakan yang berikut ini.

    Catatan: Ini harus dilakukan dari PowerShell Console yang lebih tinggi.

    Set-ExecutionPolicy RemoteSigned

    Itu saja untuk saat ini teman-teman, sampai jumpa besok untuk bersenang-senang lebih PowerShell.


    Penafian: Istilah yang tepat untuk perintah PowerShell adalah cmdlet, dan mulai sekarang kita akan menggunakan terminologi yang benar ini. Rasanya lebih tepat untuk memanggil mereka perintah untuk pengantar ini.


    Jika Anda memiliki pertanyaan, Anda dapat tweet saya @taybgibb, atau tinggalkan komentar.