Menggunakan PowerShell untuk Pengguna Rumah - Panduan Pemula
- 1402
- 74
- Luis Baumbach
Siapa yang tidak berharap mereka bisa menjadi penyihir dan mengucapkan beberapa kata untuk terjadi hal -hal magis? Nah, kami tidak dapat menunjukkan kepada Anda bagaimana menjadi penyihir, tetapi kami dapat menunjukkan kepada Anda bagaimana melakukan sedikit keajaiban komputer.
Jika Anda memiliki komputer Windows dengan Windows 7 di atasnya, Anda punya PowerShell. Juga, jika Anda memiliki komputer dengan Windows 7 di atasnya, harap perbarui demi keamanan.
Daftar isiUntuk pertama kalinya kami menggunakannya, kami akan menjalankannya sebagai administrator. Untuk melakukan ini, Anda harus terlebih dahulu memiliki hak administrator di komputer Anda. Di Anda Mulai menu, Klik kanan PowerShell Ise, Kemudian klik Jalankan sebagai administrator.
Anda mungkin mendapatkan Kontrol akses pengguna (UAC) PERINGATAN Munculan Menanyakan apakah Anda yakin ingin melakukan ini. Klik Ya.
Sekarang Anda sedang melihat IDE PowerShell. Panel atas jendela (1) adalah panel scripting. Di sinilah Anda akan menulis skrip Anda. Panel bawah jendela (2) adalah area konsol. Saat Anda menguji skrip Anda, Anda akan melihat output di panel ini.
Di sinilah Anda juga akan melihat pesan kesalahan dan sehingga akan membantu Anda memperbaiki dan membuat skrip Anda lebih baik. Panel di sisi kanan jendela (3) adalah add-on perintah. Anggap saja sebagai kamus dari semua perintah PowerShell yang tersedia untuk Anda.
PowerShell diatur untuk tidak menjalankan skrip apa pun selain yang sudah menjadi bagian dari Windows. Anda harus mengubahnya sehingga Anda dapat menjalankan skrip Anda sendiri.
Di jendela skrip, salin dan tempel yang berikut:
Set -ExecutionPolicy -ExecutionPolicy Remotegned
Itu Set-ExecutionPolicy Sebagian darinya disebut cmdlet (Commandlet diucapkan). Cmdlet adalah hal yang kuat. Pikirkan mereka sebagai perintah pendek yang dapat Anda berikan kepada Windows, dan Windows akan melakukan banyak hal yang lebih rumit untuk memenuhi perintah Anda.
Analogi akan memberitahu anak Anda untuk membersihkan kamar mereka. singkat dan langsung ke inti nya. Jika anak Anda berpengalaman dalam pembersihan kamar, maka mereka akan pergi dan membuat tempat tidur, meletakkan cucian mereka di keranjang, mengesampingkan mainan dan buku mereka, dan mungkin bahkan menyedot debu lantai. Mereka mengerti bahwa cmdlet bersih-Anda yang berarti semua itu.
Di bagian atas jendela, Anda akan melihat panah hijau. Klik itu untuk menjalankan perintah.
Itu -ExecutionPolicy Bagian diceritakan Set-ExecutionPolicy Kebijakan apa yang harus ditetapkan. Itu parameter. Itu mengatakan, “Saya ingin Anda bekerja dalam pedoman ini dan melakukan ini secara khusus. Ini memberitahukan untuk menggunakan kebijakan spesifik yang dirancang ulang.
Itu Deriak ulang Kebijakan menyatakan bahwa PowerShell tidak boleh mengeksekusi, atau menjalankan, skrip apa pun yang diunduh dari internet kecuali ditandatangani oleh penerbit tepercaya.
Dengan cara bundaran, ini memberi tahu PowerShell bahwa tidak apa -apa untuk menjalankan skrip apa pun yang dibuat secara lokal, karena mereka tidak perlu ditandatangani oleh penerbit terpercaya jarak jauh. Sekarang, skrip PowerShell Anda akan dapat menjalankan skrip apa pun yang Anda tulis di komputer Anda.
Mari kita lihat skrip untuk menghapus file sementara. Ini tidak sekuat atau menyeluruh seperti ccleaner, tetapi ccleaner hadir dengan serangkaian masalahnya sendiri.
Gunakan PowerShell untuk menciptakan ruang di hard drive Anda
Kami akan memecah skrip ini, baris demi baris, sehingga Anda dapat melihat cara kerjanya. Pada akhirnya, skrip akan ditampilkan sepenuhnya sehingga Anda dapat menyalin dan menempelkannya jika Anda mau.
$ Tempfilelocation = "c: \ user \ username \ appdata \ local \ temp \*"
Apa pun dengan tanda dolar di depannya adalah nama variabel. Anggap saja seperti dompet untuk memasukkan barang -barang berharga. Dompet mengingatkan kita pada tanda dolar, barang -barang berharga terdengar seperti variabel, jadi kita akan ingat itu juga. Kami membuat dompet, atau variabel, bernama $ Tempfilelocation. Tanda yang sama memberi tahu PowerShell apa yang harus dimasukkan ke dalam variabel itu.
Dalam hal ini, kami menempatkan lokasi lokasi file sementara Windows - C: \ Users \ Username \ AppData \ Local \ Temp \*. Kami melakukan ini karena dua alasan; Ini adalah lokasi yang selalu aman untuk menghapus file, dan kami akan menggunakannya untuk memberi tahu PowerShell di mana ia harus menghapus file.
Di mana dikatakan nama pengguna di lokasi itu, tukar dengan nama pengguna Anda. Itulah nama pengguna yang Anda gunakan untuk masuk ke komputer Anda. Tanda bintang (*) di ujungnya adalah kartu liar. Apa yang diwakilinya adalah segalanya dalam suhu folder, karena semua yang ada di folder temp bersifat sementara dan kami ingin menghapusnya.
Kutipan ganda di sekitar lokasi juga penting. Yang memberitahu PowerShell bahwa apa yang ada di sana adalah string. Pikirkan string sebagai serangkaian huruf dan karakter. Jika itu adalah angka biasa, kami tidak akan menggunakan kutipannya.
$ Tempfile = get -childitem $ tempfileloced -recurse
Kami membuat variabel lain. Kali ini kita akan menggunakan perintah untuk membuat sesuatu untuk dimasukkan ke dalam $ Tempfile variabel.
Get-Childitem
Hal lain yang akan Anda perhatikan tentang cmdlet seperti Get-Childitem apakah itu benar -benar mudah dibaca. Lihat bagaimana kata pertama adalah kata kerja? Semua cmdlet dimulai dengan kata -kata tindakan, jadi Anda segera tahu apa yang dilakukannya. Childitem adalah dua kata benda.
Bagian kedua dari cmdlet akan selalu memberi tahu kita tentang apa yang akan diterapkan oleh PowerShell. Childitem berarti semua anak dari lokasi orang tua. Ini seperti mengatakan mendapatkan semua file yang ada di folder, dengan file menjadi anak -anak dan folder menjadi orang tua.
Apa cmdlet mendapatkan item anak? Segala sesuatu dalam variabel $ Tempfilelocation. PowerShell akan pergi ke lokasi yang kami masukkan ke $ tempfilelocation lebih awal dan dapatkan semua item anak yang ada di sana. Kemudian, itu akan memasukkannya ke dalam variabel $ Tempfile.
Jadi, ada apa dengan -Berulang -ulang bagian? Itu jitu Get-Childitem untuk melewati segala sesuatu di lokasi itu. Jangan hanya mendapatkan file segera di dalam folder induk. Jika ada folder di folder itu, dapatkan semua anak mereka juga, dan anak -anak mereka dan sebagainya. Kami akan mendapatkan semuanya.
$ TempfileCount = ($ tempfile).menghitung
Ya, kami membuat variabel ketiga yang disebut $ TempfileCount, Dan kami akan memasukkan nomor dalam variabel itu. Dimana nomornya? Dengan baik, ($ Tempfile).menghitung akan memberi kita nomor itu. Anda mungkin tahu bahwa .Bagian Count akan melakukan penghitungan semua file yang baru saja kami simpan dalam $ Tempfile.
Mengapa kami melakukan ini? Sebagian besar karena senang mengetahui berapa banyak file tidak berguna yang kami bersihkan dengan sisa skrip sehingga kami dapat mengetahui seberapa efektif itu.
if ($ tempfileCount -eq 0)
Sekarang kami sedang menyiapkan pernyataan bersyarat. Anda dapat melihat bahwa itu bertanya 'jika'. Jika apa? Jika hal di dalam kurung benar atau salah. Kurung itu penting, jika tidak jika tidak tahu apa yang harus dibandingkan. Di sini, ini menanyakan apakah nomor yang kami simpan $ TempfileCount sama dengan nol.
Itu -Persamaan adalah steno untuk setara. Itu adalah jenis operator perbandingan. Ini seperti memberi tahu anak -anak Anda, "Jika kamar Anda bersih, bagus, kami akan melakukan sesuatu ..." Pernyataan ini mengatakan jika nomor yang disimpan dalam $ TempfileCount adalah -sama dengan nol melakukan hal berikutnya.
Write -host "Tidak ada file di folder $ tempfilelocation" -foregroundcolor green
Itulah hal yang akan terjadi jika $ TempfileCount adalah nol. Kurung keriting itu penting. Mereka memberitahu PowerShell untuk melakukan hanya apa yang ada di dalamnya jika $ TempfileCount sama dengan nol.
Ini akan menulis ke host, atau layar, “Tidak ada file di folder C: \ Users \ username \ appData \ local \ temp \*”. Parameter di akhir, -ForegroundColor memberitahu PowerShell untuk membuat teks menjadi hijau. Itu hanya membuatnya lebih mudah dibedakan dari pesan kesalahan yang biasanya merah.
Kalau tidak
Anda tahu apa artinya. Ini adalah, "kamar Anda lebih baik bersih atau ..." bagian dari memeriksa jika anak Anda membersihkan kamar mereka. Itulah yang akan terjadi jika $ TempfileCount bukan nol.
$ Tempfile | Hapus -item -whatif -confirm: $ false -recurse -force -warningaction silentycontinue -eroraction silentycontinue
Ini mengatakan pergi ke lokasi saat ini yang disimpan di $ Tempfile. Garis vertikal setelah itu disebut pipa. Itu berfungsi seperti pipa kehidupan nyata karena memberitahu PowerShell untuk menyalurkan isi $ tempfile ke dalam cmdlet, seolah-olah itu air yang disalurkan ke mesin cuci. Lalu cmdlet Hapus item melakukan apa yang dikatakannya; itu menghapus apa pun yang ada di lokasi itu.
Itu -Bagaimana jika Parameter sangat penting pada tahap ini. Ini memberitahu PowerShell untuk menjalankan perintah, tetapi hanya mencobanya, jangan hapus apapun. Tunjukkan saja kepada kami apa yang akan terjadi jika kami benar -benar melakukan ini.
Ini memungkinkan Anda untuk menguji perintah tanpa mengubah apa pun di komputer Anda. Tinggalkan -whatif di sana sampai Anda merasa nyaman bahwa skrip akan melakukan apa yang Anda inginkan dan tidak ada yang lain. Maka hapus saja dan skrip akan melakukan tugasnya.
Parameter -Konfirmasi: $ false menghentikan skrip dari menanyakan apakah Anda benar -benar ingin menghapus file. Kamu tahu apa -Berulang -ulang melakukan. -Memaksa berarti menghapus benda itu apa pun yang terjadi. -PERINGATAN diatur ke Diam -diam kontinu.
Ini mencegah skrip memberi Anda peringatan tentang apa yang Anda hapus. -Kesalahan diatur ke Diam -diam kontinu Sehingga jika ada kesalahan dalam proses, itu terus terus berjalan.
Sekarang kita berada di baris terakhir.
Write -host "Clealed $ TempfileCount File di folder $ Tempfilelocation" -ForeGroundColor Green
Seperti Tulis-tuan Apakah pertama kali, ini akan menghasilkan kalimat berikut, jadi kita tahu apa yang terjadi. Ini akan memberi tahu kami berapa banyak file yang dihapus dari folder yang baru saja diproses dan melakukannya dengan warna hijau untuk membuatnya mudah dikenali.
Mari kita lihat skripnya sama sekali:
$ Tempfilelocation = "c: \ user \ guymcd \ appdata \ local \ temp \*"
$ Tempfile = get -childitem $ tempfileloced -recurse
$ TempfileCount = ($ tempfile).menghitung
if ($ tempfileCount -eq "0")
Tulis -host "Tidak ada file di folder $ tempfilelocation" - foregroundcolor green
Kalau tidak
$ Tempfile | Hapus -item -onfirm: $ false -recurse -force -warningaction diam -diam
Write -Host "Clealed $ TempfileCount File di folder $ tempfilelocation" -ForheGroundColor green
Anda dapat menyalin dan menempelkan ini ke ISE PowerShell Anda dan menyimpannya sebagai sesuatu seperti hapus file-temporerfiles.PS1. Anda mungkin juga tetap dengan konvensi penamaan cmdlet sekarang setelah Anda memahaminya.
Jika kode tidak berfungsi untuk Anda karena beberapa alasan, Anda juga dapat mengunduh skrip PowerShell yang kami buat dan jalankan saja. Buka ritsleting terlebih dahulu untuk melihat file skrip.
Kapanpun Anda ingin menjalankan skrip ini, cukup klik kanan di atasnya dan pilih Jalankan dengan PowerShell. Konsol PowerShell akan muncul selama satu atau dua detik, sementara skrip Anda melakukan hal itu, dan kemudian akan hilang jika tidak ada kesalahan.
Di mana saya bisa belajar lebih banyak powershell?
Sepertinya banyak! Untuk skrip PowerShell pertama Anda, ini sedikit adil. Jika Anda telah sampai sejauh ini, bertepuk tangan sendiri. Anda telah belajar banyak hari ini, tetapi sekarang Anda ingin belajar lebih banyak. Itu hebat!
Ada banyak sumber daya di internet untuk belajar lebih banyak tentang PowerShell. Tempat yang baik untuk memulai adalah artikel kami, “Hasilkan daftar program startup melalui baris perintah atau PowerShell”. Kemudian periksa sumber daya lain ini:
- Memulai dengan Microsoft Powershell - Microsoft Virtual Academy
- Tutorial PowerShell - TutorialSpoint.com
- « Pisahkan dokumen menjadi kolom di Google Documents
- 5 alasan hasil tes kecepatan wifi Anda mungkin salah »