Cmdlet PowerShell. Apa itu windows powershell dan apa yang dibutuhkan untuk apa

5 November 2014 pada 20:07

JUMP MULAI DI POWERSHELL (Bagian I)

  • Sistem administrasi ,
  • PowerShell.
  • Tutorial.

Hanya otomatisasi. Hanya Powershell.

Kata pengantar

Sebagai hobi dan di hadapan waktu, saya mengajar siswa ke ukit (mantan Moscow State College teknologi Informasi). Pada saat ini Saya punya sedikit waktu untuk memberikannya sekelompok siswa, tetapi cukup untuk menyiapkan posting di sini di Habré.

Saya bekerja sebagai administrator sistem di perusahaan besar bukan dengan string besar untuk sumber daya TI. Oleh sifat kegiatan yang tampaknya diputuskan sejumlah besar Tugas Layanan Pengguna.

Dengan bahasa PowerShell, saya berkenalan sekitar dua tahun yang lalu, tetapi ia membawanya dengan cermat hanya setahun kemudian, tidak mewujudkan peluang awal pada awalnya. Dalam artikel itu, pertama-tama, saya akan fokus pada mereka yang ingin mulai bekerja dengan PowerShell, tetapi sampai dia memercayainya atau tidak tahu bagaimana mendekati mukjizat ini.

Perhatian: PowerShell Adiktif.

pengantar

Wikipedia memberi tahu kita:
Windows PowerShell. - Sarana otomatisasi yang dapat diperluas dari Microsoft.Terdiri dari cangkang dengan antarmuka baris perintah dan skrip terkait.

PowerShell terlihat seperti baris perintah:


powershell.exe.

Atau dalam bentuk aplikasi:


powershell_ise.exe.

Powershell_ise.exe. Disebut lingkungan skenario terintegrasi - Windows PowerShell Ise. Memungkinkan Anda bekerja dengan bahasa dalam lingkungan yang disorot sintaks yang nyaman, konstruktor perintah, perintah autofill dengan menekan tab dan pesona lainnya. Ideal untuk membuat dan menguji skrip.

Untuk meluncurkan lingkungan powershell.exe. atau powershell_ise.exe. Cukup untuk memanggil nama yang sama di baris.

File Script PowerShell memiliki ekstensi .ps1..

Script tidak akan dapat menjalankan lkm ganda. Ini dilakukan secara khusus agar tidak merusak skrip menjalankan skrip secara acak.

Untuk memulai, dengan mengklik PCM, pilih "Jalankan menggunakan PowerShell":

Selain fakta bahwa ada batasan pada peluncuran skrip LKM, secara default, pelaksanaan skenario dalam sistem dilarang, lagi, sesuai dengan alasan yang dijelaskan di atas - jangan membahayakan sistem. Untuk memverifikasi kebijakan eksekusi saat ini, kami akan menjalankan perintah:

Get-ExecutionPolicy.

Kami mendapatkan salah satu dari nilai-nilai berikut. Dengan probabilitas hebat jika itu adalah peluncuran pertama, kami dapatkan Terbatas.

  • Terbatas - Skrip tidak dapat diluncurkan;
  • Dipindahkan. - Hanya skenario yang ditandatangani oleh penerbit tepercaya yang dapat diluncurkan. Sebelum melakukan skenario penerbit tepercaya akan diminta konfirmasi;
  • RemotesIgned. - Diizinkan untuk melakukan skrip dan skenario yang diunduh yang ditandatangani oleh penerbit tepercaya;
  • Tidak dibatasi - Tidak ada batasan, semua skrip dapat diluncurkan.

Untuk memenuhi dan menguji kebijakan untuk RemotesIgned. Dengan memerintah:

Set-executionPolicy Remotesigned

Mulai bekerja

Cmll.
  • Perintah disebut perintah PowerShell, di mana berbagai fungsi diletakkan;
  • Cangkir dapat berupa sistem dan custom yang dibuat oleh siapa saja;
  • Clashles dirujuk ke aturan glagol-noun, yang menyederhanakan menghafal mereka;
  • Keluaran coloh menghasilkan bentuk benda atau koleksi mereka;
  • Cmdlet dapat menerima data untuk memproses dan mengirimkan data pada pipa (tentang konveyor nanti);
  • Piala tidak peka terhadap register (Anda dapat menulis dan mendapatkan proses, dan proses mendapatkan, dan mendapatkan proses);
  • Setelah cmdlet, tidak perlu untuk menempatkan " ; ", Kecuali ketika kami melakukan beberapa cmdlet dalam satu baris (proses get; get-service).

Misalnya, untuk mendapatkan proses saat ini, kami akan menjalankan perintah:

Dan kami mendapatkan hasilnya:

Cobalah untuk menampilkan diri:

Get-Service # untuk mendapatkan status layanan yang berjalan di komputer

Dapatkan konten C: \\ Windows \\ System32 \\ Drivers \\ et \\ hosts # untuk mendapatkan konten file. DI kasus ini, Host File.

Tidak perlu mengetahui semua cmdlet. Mendapatkan bantuan. Simpan situasinya.
Informasi tentang semua cmdles yang tersedia dapat diperoleh dengan memasukkan perintah berikut:

Dapatkan-Bantuan -Kategori Cmdlet

Jika kita menggunakan PowerShell Ise, kami memfasilitasi proses pengembangan.
Cukup masukkan tanda dasbor " - "Setelah Clarket diperkenalkan, dan kami akan mendapatkan segalanya opsi yang mungkin Parameter dan tipe mereka:

Cobalah untuk mengeksekusi:

Get-Service -Name P *

Jika, namun demikian, kita akan melupakan sifat apa yang ada dari satu atau cmdle lain, kita naik Dapatkan anggota.:

GET-Process | Get-Anggota # Tanda "|" disebut conveyor. Tentang dia di bawah ini.

Informasi tidak cukup? Beralih ke bantuan dengan parameter -Peringatan.:

Dapatkan-Help Get-Process -Examples

Kami mendapatkan deskripsi Mendapatkan proses.Ya, dan dengan contoh penggunaan:

  • Slashles mungkin memiliki nama disingkat - alias. Misalnya, sebagai gantinya Mendapatkan bantuan. Anda dapat menggunakan sederhana Tolong.. Untuk semua pengurangan, lakukan Get-alias..

Cobalah untuk mengeksekusi:

Mulai-Proses Notepad

Apa yang mirip dengan perekaman:

Mulai Notepad.

Dan sekarang hentikan prosesnya:

Stop-Process -Name Notepad

Spps -name notepad.

Sedikit sebelumnya kami mengatakan bahwa clocles disebut aturan Glagol-noun. Mengklarifikasi bahwa kata kerja tidak harus Dapatkan.. Selain apa yang bisa kita dapatkan, kita bisa bertanya SET. (Ingat, set-executionPolicy), peluncuran Mulailah.henti Berhenti., output Di luar.Membuat Baru dan banyak lagi. Nama cmdlet tidak terbatas pada apa pun dan ketika kita akan membuat kita sendiri dengan Anda, kita dapat menyebutnya sebagai hatimu.

Mari kita coba jalankan file:

"Halo, hub!" | Out-file c: \\ test.txt & c: \\ test.txt

Ngomong-ngomong, itu bisa ditulis dengan cara yang sama seperti:

"Halo, hub!" \u003e C: \\ test.txt & c: \\ test.txt

Dengan huruf misterius dan kursor berkedip terus-menerus? Ini adalah baris perintah. Utilitas hadir dalam semua versi Windows.. Dengan itu, lebih mudah untuk mengelola sistem, program panggilan, menemukan file. Tetapi untuk pekerjaan profesional CMD tidak cukup fungsional. Oleh karena itu, Microsoft memutuskan untuk memperbaiki semua konsol minus dan merilis produk di bawah dengan nama Windows PowerShell. Apa itu dan bagaimana cara menggunakan pengembangan, baca terus.

Apa itu PowerShell dari Windows

PowerShell adalah lingkungan perintah berorientasi objek interaktif dengan fungsi bahasa skrip. Rilis resmi PowerShell 1.0 dari Microsoft berlangsung pada 14 November 2006. Pengembang menggabungkan antarmuka baris perintah CLI biasa dengan platform untuk mengelola jaringan lokal dan jarak jauh .NET Framework.

Perhatikan bahwa Windows PowerShell bukan shell operasi sederhana. Microsoft berhasil menciptakan alat kontrol yang kuat, dapat diupgrade dan pada saat yang sama, yang mampu berfungsi sebagai bahasa skenario yang dipilih.

Pada 18 Agustus 2016, Microsoft mengumumkan bahwa Windows PowerShell sekarang merupakan produk sumber terbuka yang tersedia untuk setiap pengembang. Juga, perusahaan menambahkan dukungan untuk sistem operasi yang berorientasi UNIX, termasuk distribusi Linux dan OS X.

Cara mengelola PowerShell

Cmdlet digunakan untuk menjalankan tugas, atau cmdlet. Ini adalah perintah kecil yang direkam dalam bentuk file yang dapat dieksekusi. Dalam versi 2.0 PowerShell untuk Windows XP dan Server 2008 R2, pembuatnya telah menambahkan modul yang memungkinkan Anda untuk mengelola jumlah besar Sumber daya, termasuk Active Directory dan Exchange Server.

Sekarang di Alat Otomasi PowerShell, lebih dari 130 modul dan perintah tertanam. Mereka menyediakan akses ke file, jaringan, registri, administrasi, dan fitur sistem lainnya:

  • pengaturan waktu dan tanggal;
  • bekerja dengan folder dan file terpisah;
  • memperoleh bantuan dan informasi tambahan;
  • penyimpanan impor dan data;
  • metode untuk membuat skrip;
  • skrip dan aplikasi individu;
  • periksa sistem keamanan dan bekerja dengan deskriptor;
  • sistem administrasi;
  • periksa ruang disk.

Mempertimbangkan bahwa Windows PowerShell adalah lingkungan yang dapat diperluas, pengguna dapat membuat tim mereka sendiri, menulis modul "penulis" menggunakan bahasa .NET.

Memulai dengan PowerShell

Pada 2016, versi beta terakhir 6.0 PowerShell dirilis. Di Windows 7, 8 dan 10, utilitas tersebut dibangun. Jika Anda menggunakan sistem operasi lain, aplikasi harus mengunduh. Untuk melakukan ini, pergi ke situs resmi microfoft.com dan di jendela pencarian, masukkan menginstal Windows PowerShell. Sistem akan secara otomatis menerjemahkan ke halaman dengan rilis produk terbaru. Pilih OS Anda dari daftar dan klik Unduh.

Ketika file dimuat penuh, buka dengan klik mouse ganda. Secara default, lingkungan akan dipasang di ProgramFiles \\ PowerShell \\ dan membuat pintasan di menu Start. Jika Anda adalah pengguna Windows yang bahagia, klik ikon sistem di sudut kiri bawah dan masukkan PowerShell untuk "menemukan program dan file". Jalankan aplikasi, masukkan cmdlet pertama Anda dan mulai bekerja.

Daftar perintah dan instruksi yang diperlukan untuk PowerShell

Nama setiap cmdlet diwakili dalam bentuk "kata kerja" atau "objek tindakan". Kami menawarkan daftar Cmdlets PowerShell yang paling penting untuk Windows 10 dan versi sebelumnyaDimulai dengan XP. Mereka akan berguna bahkan untuk pengguna pemula yang baru belajar bagaimana mempertahankan dokumen teks.

  1. Mendapatkan bantuan. Dibangun di Core Cage Celler. Dirancang untuk memanggil sertifikat dan menyediakan informasi berguna Pada sintaks, program, janji temu mereka, Celt lainnya. Jika dalam interpreter komando yang biasa Anda tulis ipconfig /?, Lalu di PowerShell Anda perlu menghubungi Get-Bantuan Get-Proses.
  2. Dapatkan konten. Menyederhanakan prosedur untuk membaca file untuk pemula dan administrator sistem. Jika sebelumnya perlu untuk membuka pegangan dan membaca semua baris dokumen, sekarang cukup berikan file cmdlet. Untuk melakukan ini, tulis di C: \\\u003e Get-Content C: \\ ... \\ "Nama file" di konsol. "Ekstensi".
  3. Dapatkan-layanan. Akses ke informasi tentang layanan yang dipasang di komputer.
  4. Dapatkan anggota. Memberikan informasi tentang objek CMDlet yang dikembalikan, memungkinkan Anda untuk melihat propertinya dan metode.
  5. Dapatkan perintah. Pencarian untuk Cmdlets, mengembalikan semua informasi tentang mereka, termasuk data tentang fungsi, skrip, aplikasi, dan elemen lainnya. Dalam versi 5.0 Powershell untuk Windows 10 di Get-Command, kolom versi telah ditambahkan, dan sekarang komandan menampilkan beberapa versi modul yang sama sekaligus.
  6. Stop- \\ Start-Service. Asisten yang sangat diperlukan bagi administrator. Cmdlet meluncurkan dan menghentikan layanan di komputer yang dihapus dan lokal.

Simbol khusus untuk skrip

Selain Cmdlets, utilitas PowerShell di Windows 7 dan di atasnya menyertakan karakter khusus, seperti $ _ atau (). Kebingungan terbesar dari ikon menyebabkan pendatang baru yang tidak memiliki kasus dengan sistem atau pemrograman seperti Linux.

  1. Sifat vertikal "|". Simbol ini digunakan untuk program dengan transfer data conveyor. Saat bekerja dengan konsol, itu termasuk ketika mereka ingin menentukan perintah di sebelah kanan fitur vertikal untuk menerima output dari perintah kiri. Di PowerShell, fitur vertikal ini digunakan dengan tujuan yang hampir sama, menggabungkan beberapa tim sekaligus. Misalnya, buat nama pengguna baru, tambahkan ke grup dan setel ulang kata sandi default.
  2. Tanda fungsi "()". Memungkinkan Anda memantau proses eksekusi skenario secara efektif. Seperti dalam bahasa pemrograman C-C, fungsi PowerShell dibentuk dengan memasukkan ke dalam beberapa cmdlet dalam kurung keriting dan siap untuk memulai beberapa kali yang diperlukan.
  3. Simbol khusus $ _. Digunakan untuk menulis blok scripting, filter dan ekspresi prosedural. $ _ mengambil nilai objek saat ini dan mentransmisikannya ke yang berikut. Menggunakan tanda dolar, tanpa garis bawah yang lebih rendah, Anda dapat menunjuk atau memasukkan variabel: $ var \u003d "Halo".

Apa itu PowerShell Ise

Termasuk dengan utilitas PowerShell adalah grafik aplikasi Windows PowerShell Ise. Ini adalah shell, atau lingkungan terintegrasi untuk menulis skrip. ISE memberi pengembang berbagai kemungkinan. Dengan itu, Anda dapat membuat, men-debug dan mengedit skrip, membuka teks dan file XML. Sorotan warna sintaksis sangat memfasilitasi pengujian dan mencari kesalahan dalam kode.

ISE jauh lebih nyaman daripada konsol PowerShell dan dapat sepenuhnya menggantinya. Menggunakan lingkungan, Anda dapat menyalin dan memasukkan fragmen kode besar, mulai tidak semua skrip, tetapi bagiannya yang terpisah. Tidak seperti PowerShell, ukuran jendela di ISE dengan mudah mengubah pointer mouse, seperti saat bekerja dengan program yang biasa.

Untuk mencoba lingkungan ISE, masukkan PowerShell ISE di menu Start. Jika Anda tidak menggunakan Windows, tetapi OS lain, unduh dan instal distribusi dari situs resmi. Setelah memulai aplikasi, jendela tiga bagian akan terbuka. Skrip atas ditulis di tim PowerShell bawah, dan di tengah ada hasilnya.

Mulai kenalan dengan ISE dan di jendela bawah, masukkan proses get. Tekan Tab beberapa kali. Di sebelah Cmdlet akan muncul parameternya yang akan berubah setelah setiap penekanan tombol. Ini akan menjadi sesi pertama Anda dengan lingkungan skrip dari Microsoft.

Namun, ini memungkinkan Anda untuk melakukan perintah baris perintah yang biasa untuk membuat satu lingkungan di mana administrator dapat melakukan berbagai tugas pada sistem lokal dan jarak jauh.

Tugas administrasi ini biasanya dilakukan dengan menggunakan cmdlet (dalam aslinya cmdlets.), yang merupakan kelas .NET khusus. Pengguna dapat menggabungkannya dalam skrip (skenario) menggunakan berbagai desain, utilitas baris perintah dan merujuk pada kelas normal .NET, WMI atau objek COM. Selain itu, Anda dapat menggunakan berbagai gudang data, seperti sistem file Windows atau registri, yang disediakan oleh PowerShell melalui pemasok (Bahasa Inggris. penyedia).

Windows PowerShell juga menyediakan mekanisme embedding, berkat komponen yang dapat dieksekusi PowerShell dapat dibangun ke dalam aplikasi lain. Aplikasi ini kemudian dapat menggunakan fungsi PowerShell untuk mengimplementasikan berbagai operasi, termasuk yang diberikan melalui antarmuka grafis.. Pendekatan ini diterapkan pada Microsoft Exchange Server 2007 untuk mengimplementasikan fungsi kontrol dalam bentuk Cmdles PowerShell dan utilitas kontrol grafis dalam bentuk shell PowerShell yang menyebabkan cmdlet yang diperlukan. Dengan demikian, antarmuka kontrol grafis berada di atas lapisan menengah - PowerShell. Lainnya aplikasi Microsoft., Termasuk Microsoft SQL Server 2008, Manajer Operasional Pusat Sistem dan Manajer Perlindungan Data Pusat Sistem juga menyediakan akses ke antarmuka manajemen mereka melalui Cmdlet PowerShell. Di masa depan, semua aplikasi Microsoft Server pada platform Windows akan menggunakan PowerShell dengan satu atau lain cara.

Windows PowerShell mencakup bantuan yang dapat diperluas sendiri, tersedia (termasuk dari baris perintah) melalui cmdlet get-help.

Prasejarah.

Clelyt.

Skenario.

PowerShell mencakup bahasa skenario dengan tipe dinamis, di mana Anda dapat menerapkan operasi kompleks menggunakan Cmdlets. Bahasa skrip mendukung variabel, fungsi, desain cabang (jika-lalu) siklus (sementara, lakukan, untuk dan foreach), pemrosesan kesalahan terstruktur dan banyak fitur lainnya, termasuk integrasi C.NET. Variabel dalam PowerShell dilambangkan dengan $ awalan sebelum nama; Mereka dapat ditugaskan makna apa pun, termasuk penarikan cmdlet. Meskipun bahasa itu sendiri tidak diketik dengan ketat, di dalam variabel disimpan dengan tipe mereka yang bisa menjadi tipe dasar (ENG. tipe primitif.) atau benda. Baris dapat dilampirkan dalam kutipan tunggal atau kutipan ganda: Saat menggunakan kutipan ganda, variabel yang terkandung dalam string akan diganti dengan nilai-nilai mereka. Sesuai dengan sintaks variabel, jika path ke file ditempatkan dalam tanda kurung dengan tanda dolar sebelumnya (yaitu, $ (c: \\ foo.txt)), maka ini akan menjadi tautan ke konten berkas. Semua yang akan ditugaskan ke variabel seperti itu akan direkam dalam file, dan sebaliknya, isi file akan dikeluarkan saat mengakses isinya.

Anda dapat menangani properti dan metode objek menggunakan titik (.), Seperti dalam sintaksis. PowerShell memberikan variabel khusus seperti $ args, berisi array dari semua argumen baris perintah tanpa nama, fungsi yang ditransmisikan, atau $ _, merujuk pada objek saat ini di konveyor dan struktur lainnya. PowerShell juga mengandung array dan array asosiatif. Selain itu, PowerShell secara otomatis menghitung ekspresi aritmatika yang dimasukkan pada baris perintah, dan memahami abrigamen populer, seperti GB (GB), MB (MB) dan KB (CB).

Di PowerShell, Anda dapat membuat fungsi Anda sendiri yang menerima parameter menggunakan fungsi fungsi. Masalah populer untuk banyak pemula adalah bahwa fungsi menerima argumen yang dipisahkan dengan bukan koma, tetapi spasi (seperti utilitas baris perintah atau cmdlet):

  1. : Menyebabkan fungsi dengan dua argumen.

Argumen-argumen ini dapat diikat ke parameter yang ditentukan dalam deklarasi fungsi. Juga, mereka juga dapat menghubungi mereka melalui array $ args.

  1. (, ): Menyebabkan fungsi dengan satu argumen, yang merupakan array dari dua elemen.

Powershell memungkinkan Anda untuk memanggil metode .NET dengan menyimpulkan nama-nama ruang mereka dalam tanda kurung persegi (), dan kemudian menggunakan beberapa warna (: :) untuk menunjukkan metode statis. Misalnya :: Writeline ("PowerShell"). Objek dibuat menggunakan cmdlet objek baru, tambahkan properti baru kepada mereka menggunakan cmdlet add-anggota.

Untuk PowerShell Kesalahan penanganan menyediakan mekanisme berdasarkan on-line. Dalam hal kesalahan, objek dikeluarkan berisi informasi kesalahan (objek pengecualian) yang dicegat kata kunci. Perangkap. Namun, perilaku ketika kesalahan terjadi dikonfigurasi. Jadi, Anda dapat mengkonfigurasi PowerShell sehingga jika terjadi kesalahan, diam-diam terus melaksanakan tanpa mencegat kesalahan. Versi kedua PowerShell juga menambahkan Coba Catch akhirnya mendesain.

Skenario yang ditulis dalam PowerShell dapat disimpan di antara sesi dalam file.ps1. Maka Anda dapat menggunakan seluruh skrip atau fungsi individu darinya. Skrip dan fungsi digunakan seperti cmdtam, yaitu, mereka dapat perintah di conveyor, mereka dapat mengirimkan parameter. Objek dapat ditransmisikan antara skenario, fungsi dan cmdlet di conveyor. Namun, eksekusi skrip PowerShell dilarang secara default, dan itu harus diaktifkan menggunakan set-executionPolicy cmdlet. Skrip PowerShell dapat ditandatangani oleh tanda tangan digital untuk memverifikasi integritas mereka.

PowerShell 2.0.

Microsoft telah merilis PowerShell 2.0 sebagai bagian dari Windows 7 dan Windows Server 2008 R2. Windows PowerShell 2.0 adalah preset dalam sistem ini. Pengecualian adalah mode instalasi Windows Server 2008 R2 dalam mode inti, di mana PowerShell 2.0 dapat dikonfigurasi secara manual. Untuk platform yang lebih tua, ini tersedia sebagai bagian dari kerangka kerja manajemen Windows. PowerShell 2.0 membuat beberapa perubahan pada bahasa scripting dan API untuk embedding, selain 240 cmdth baru.

Daftar fitur baru yang tidak lengkap termasuk dalam PowerShell 2.0:

  • PowerShell Remoting. Menggunakan WS-Management, PowerShell 2.0 memungkinkan Anda untuk menelepon skrip dan cmdlet pada mesin jarak jauh (termasuk beberapa secara bersamaan), memantau status eksekusi mereka dan mendapatkan hasil dalam bentuk objek (melalui serialisasi - deterialisasi). Dimungkinkan juga untuk membuat sesi dan sesi interaktif dengan fungsionalitas terbatas.
  • Pekerjaan latar belakang. Kemampuan untuk memanggil urutan perintah secara asinkron. Bekerja dapat dijalankan pada mesin lokal atau beberapa mesin jarak jauh. Karya tidak dapat menggunakan cmdlet interaktif.
  • Transaksi. Biarkan pengembang cmdlet dan pemasok untuk menerapkan operasi transaksional. PowerShell 2.0 termasuk cmdlet untuk inisialisasi, konfirmasi dan kembalikan transaksi dan kemampuan untuk mengelola transaksi dan menggunakannya di CMDT dan pemasok.
  • Fungsi lanjutan. Kemampuan untuk mengembangkan cmdlet penuh yang hanya menggunakan PowerShell itu sendiri.
  • StepablePipelines. Mengizinkan pengguna memantau fungsi MulingProcessing (), ProcessRecord () dan Endprocessing () saat memanggil Cmdlet.
  • Modul. Biarkan penulis skenario dan administrator mengatur skrip PowerShell dan menempatkannya dalam modul mandiri. Kode dari modul dilakukan dalam konteks independennya sendiri dan tidak mempengaruhi lingkungan di luar modul. Menggunakan skrip, modul dapat mendeklarasikan lingkungan yang terbatas. Modul dapat berisi fungsi publik dan pribadi dan variabel.
  • Bahasa data. Subset dari bahasa PowerShell yang memungkinkan Anda memisahkan definisi data dari kode skenario yang dapat dieksekusi dan memungkinkan untuk mengimpor string lokal ke skrip selama eksekusi.
  • Skrip debugging. Kemampuan untuk menginstal titik interupsi (ENG. breakpoints.) Dalam skrip atau fungsi PowerShell. Poin interupsi dapat dipasang pada string, kolom, perintah, atau operasi baca dan / atau variabel perekaman. Ada cmdlet untuk pemasangan dan kontrol titik gangguan dalam skenario.
  • Peristiwa. Fitur ini memungkinkan Anda untuk mendengarkan, mengarahkan, dan melakukan tindakan ketika peristiwa manajemen atau sistem terjadi. Berkat acara tersebut, Host PowerShell dapat diberitahu tentang perubahan status objek yang dikelola. Juga memungkinkan skenario untuk berlangganan objek, psevents dan whieven dan memprosesnya secara sinkron dan asinkron.
  • Windows PowerShell Integrated Scripting Environment (ISE). PowerShell 2.0 mencakup shell grafis untuk bahasa di mana debugger bawaan disertakan, lampu latar sintaksis, otomatisasi perintah. Shell memungkinkan Anda untuk menjalankan beberapa konsol PowerShell independen dengan dukungan penuh dari Unicode dalam antarmuka dengan bookmark. Berkat dukungan eksekusi jarak jauh, beberapa konsol dapat dilakukan pada komputer lain. Selain itu, ISE memungkinkan Anda untuk melakukan bagian yang dialokasikan dari skenario, berisi editor bawaan dan memungkinkan Anda untuk memperluas dan melengkapi antarmuka Anda menggunakan PowerShell.
  • Bits Transfer - Dukungan bawaan untuk transfer file melalui jaringan dengan prioritas, multithreading, dimulainya kembali dan pekerjaan asinkron berdasarkan latar belakang teknologi layanan transfer cerdas.
  • Banyak cmdlet baru, termasuk, misalnya, out-gridview, yang memungkinkan untuk menampilkan hasil konveyor dalam tabel grafis (berdasarkan WPF), dengan penyortiran dan kemampuan pencarian instan.
  • Operator baru -Split, -Join dan substitusi operator (@).
  • Pengolahan kesalahan dengan cobly-catch-akhirnya. Tidak seperti bahasa .NET .NET lainnya, di PowerShell Anda dapat menentukan beberapa jenis pengecualian untuk satu blok tangkapan.
  • Blokir komentar. PowerShell 2.0 mendukung komentar blok (plus ke baris-up yang sudah ada #) menggunakan<# и #> sebagai pembatas.
  • API baru menambahkan kemampuan yang berbeda, dari kontrol yang lebih besar atas PowerShell Parser dengan kemampuan untuk menciptakan sesi terbatas (Bahasa Inggris. runspace terbatas.) Di mana Anda dapat melakukan satu set instruksi dan perintah PowerShell terbatas.

Perbandingan Cmdlet dengan tim serupa

Tabel berikut berisi sampel cmdlet yang disertakan dengan PowerShell, dengan perintah maksimum yang serupa dari shell baris perintah yang dikenal luas.

Perlu dicatat bahwa tabel ini diberikan untuk sosialisasi superfisial, itu tidak mencakup semua fitur dari kerang yang diwakili.

Windows PowerShell.
(Cmdlet)
Windows PowerShell.
(Alias)
cmd.exe / command.com.
(MS-DOS, Windows, OS / 2, dll.)
Pesta
(Unix, BSD, Linux, Mac OS X, dll.)
Deskripsi
Dapatkan-lokasi gl, pwd. pwd. Menampilkan direktori kerja saat ini
Set-lokasi sl, cd, chdir , Chdir. Mengubah katalog saat ini
Host bening. cls, jelas cls. bersih Membersihkan layar
Salin-item. cpi, salin, cp salinan Salinan satu atau lebih file atau direktori (di PowerShell Anda juga dapat menyalin objek penyedia data lainnya)
Mendapatkan bantuan. bantuan, kawan. tolong. manusia. Bantuan oleh tim
Hapus-item. rI, DEL, ERASE, RMDIR, RD, RM del, erase, rmdir, , rmdir. Menghapus file / direktori (atau item lain di PowerShell Data Providers).
Ganti nama-item. rNI, Ren. ren, ganti nama. Ganti nama file / direktori
Pindahkan-item. mi, pindahkan, mv pindah. Memindahkan file / direktori ke lokasi baru
Get-Childeem. gCI, DIR, LS dir. Menampilkan semua file / direktori di direktori saat ini
Tulis-output gema, tulis. gema. gema. Menampilkan string, variabel untuk output standar
Lokasi pop. pOPD. pOPD. pOPD. Mengubah direktori saat ini ke salah satu yang terakhir ditempatkan di tumpukan
Push-Location. pushd. pushd. pushd. Menempatkan direktori saat ini di tumpukan
Set-variabel. sV, atur. sET. sET. Menetapkan nilai variabel / pembuatan variabel
Dapatkan konten gC, ketik, kucing tipe kucing. Mendapat isi file
Pilih-string. temukan, findstr. grep. Menampilkan string yang sesuai dengan kondisi
Mendapatkan proses. gPS, PS. ttd, daftar tugas. Menampilkan semua proses yang sedang berjalan
Stop-Process. spps, bunuh bunuh, Taskkill membunuh Menghentikan proses yang berjalan
Tee-objek. tee. n / A. tee. Mengirimkan data input ke file atau variabel, lalu mentransmisikannya lebih lanjut dengan conveyor

Lihat juga

  • PowerShell Ise.

Catatan

literatur

  • Popov A.v. Pengantar Windows PowerShell. - St. Petersburg. : BHV-Petersburg, 2009. - P. 464. - ISBN 978-5-9775-0283-2

Tautan

  • WINDOWS POWERSHELL 1.0 Instalasi Paket Download Center untuk Windows Vista
  • Laporkan peluang PowerShell dan fundamental penulisan skrip
  • Kerangka Manajemen Windows (termasuk PowerShell 2.0, Winrm 2.0 dan Bits 4.0) untuk Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008
  • Blog "PowerShell dan skrip lainnya" (Rus.)
  • (rus.)
  • "Blog PowerShell dan tidak hanya" (Rus.)
  • Buku Rusia gratis O PowerShell (Rus.)
  • Buku Bahasa Inggris Gratis Kedua tentang PowerShell (Bahasa Inggris)
  • Windows PowerShell Web Node (Bahasa Inggris)
  • Kapten PowerShell dan Administrasi Masa Depan (Rus.)

Windows PowerShell adalah salah satu alat penting dalam sistem sistem administrator Windows. PowerShell adalah alat yang ampuh yang seharusnya tidak diabaikan. Artikel ini bertujuan untuk memberikan keterampilan kerja dasar dengan Windows PowerShell.

PowerShell adalah sesuatu yang lebih dari sekedar shell baris perintah. Versi pertama PowerShell muncul pada tahun 2006, alasan perkembangannya adalah primitif tim klasik wINDOWS Strings.tidak diizinkan untuk melakukan algoritma yang kompleks.

Windows PowerShell adalah Preset di Windows 7, 8, 8.1 dan Windows Server 2008 R2, 2012 R2 Systems, dan juga dapat ditambahkan ke Windows XP SP3, Vista dan Windows Server 2003 SP2. Antarmuka PowerShell menyerupai antarmuka baris perintah yang terkenal.


Antarmuka Windows. PowerShell.

Seperti disebutkan di atas, antarmuka baris perintah tidak terbatas. PowerShell memberikan bahasa skenario administrator sistem sendiri, yang memungkinkan Anda untuk mengotomatiskan tindakan yang kompleks.

Perintah yang berjalan di PowerShell dapat berupa cmdlet, fungsi, skrip dan file eksekusi eksternal.

Clelyt. - Ini adalah jenis perintah baru yang dibangun ke PowerShell. Perintah jenis ini dikompilasi di pustaka DLL dan dimuat ke proses PowerShell selama peluncurannya. Untuk diri mereka sendiri cmdlets karena aplikasi tidak dimulai.

Nama Cmdlet cocok dengan templat "Kata kerja Kata benda". Kata kerja menggambarkan tindakan yang ingin kita buat, dan kata benda - objek yang akan dilakukan tindakan akan dilakukan. Misalnya, untuk menghapus layar konsol, Anda harus memasukkan perintah host host. Anda dapat melihat perintah yang tersedia dengan memasukkan konsol Get-Command.

Piala mungkin memiliki parameter. Secara umum, sepertinya ini:

nama Comandline -Parameter1 -Parameter2 Argument1 Argument2

Argumen bukan parameter nama.

Bagaimana itu bekerja? Misalnya, kami memiliki perintah DIR yang menampilkan konten direktori.

Contoh kerja tim dir

Misalkan saya kehilangan file tertentu. Biarkan itu menjadi file sertifikat oleh Photoshop. Saya ingat persis bahwa nama file berisi "Photoshop", dan ini adalah file PDF. Seperti yang saya ingat, file terletak di direktori ini. Saya dapat menampilkan daftar semua file direktori seperti pada contoh di atas dan mencari file secara manual. Dan saya dapat menerapkan parameter -filter, yang hanya akan menampilkan file-file yang cocok dengan argumen tertentu. Sebagai argumen akan ada * Photoshop * .pdf. Tanda bintang di sekitar kata "Photoshop" berdiri karena saya tidak ingat nama file yang tepat dan menunjuk PowerShell dengan fakta bahwa sebelum dan sesudah "Photoshop" dapat berdiri dengan karakter apa pun. Saya juga menunjuk untuk mencari file PDF.

Jadi, file pencarian ditemukan. Dalam bentuk umum cmdlet, ditunjuk bahwa satu cmdlet dapat memiliki beberapa parameter. Pada gilirannya, parameter tidak selalu memiliki argumen.

Sedikit menyulitkan contoh kami. Katakanlah sekarang saya perlu menemukan buku Christopher Dugurtesty. Tim dir -filter * dougherty * .pdf Saya tidak melakukan apapun. Ini berarti bahwa tidak ada buku dalam katalog ini, tetapi saya ingat persis bahwa itu ada di suatu tempat di sini, jelas, di subdirektori. Untuk mencari dan di subdirektori, tambahkan parameter -recurse.

Pencarian akan memakan waktu sedikit lebih lama, tetapi buku yang diinginkan akan ditemukan.

Seperti yang Anda lihat, parameter -recurse tidak mengandung argumen. Dengan sendirinya, parameter dapat berdiri dalam urutan apa pun, yang utama adalah sepenuhnya mengamati logika ketika argumen yang diperlukan mengikuti parameter yang dimaksudkan. Jadi tim dir -filter * dougherty * .pdf -recurse akan bekerja dengan cara yang sama seperti dir -recurse -filter * dougherty * .pdf.

Nama-nama parameter dapat ditulis dalam bentuk disingkat, yang cukup nyaman untuk pekerjaan sehari-hari dengan baris perintah. Reduksi harus jelas bagi juru bahasa, I.E. Jangan biarkan interpretasi dua kali lipat. Misalnya, parameter -recurse dapat dikurangi menjadi -r sederhana, dan pengurangan -filter untuk -F akan menyebabkan kesalahan, karena Masih ada parameter -orce. Dalam hal ini, Anda dapat memotong -filter ke -fi.

Jadi, kami mendapat ide Celtic. Lanjut .

Setelah pindah ke sistem operasi Windows 10, banyak pengguna telah memperhatikan "menjalankan PowerShell" di antarmuka konduktor. Dalam hal ini, banyak pertanyaan muncul di jaringan, pengguna tertarik pada program Windows PowerShell dan apa yang dibutuhkan. Jika Anda juga tertarik dengan pertanyaan ini, materi ini harus membantu Anda.

Windows PowerShell adalah bahasa scripting dan program dengan antarmuka baris perintah untuk melakukan skrip ini. Bahasa ini dirilis pada tahun 2006 sebagai bagian dari paket layanan kedua untuk Windows XP dan sejak itu PowerShell adalah bagian dari semua sistem operasi Microsoft. Pada 2008, versi kedua muncul dari bahasa iniDan mulai dengan Windows 7 itu adalah. Skrip Windows PowerShell memiliki ekstensi PS1 dan dapat diluncurkan sebagai file kelelawar dan cmd yang akrab.

Windows PowerShell adalah bahasa skrip yang dikembangkan terutama untuk pelanggan bisnis Microsoft yang membutuhkan alat yang kuat untuk mengotomatisasi tugas dan komputer manajemen server pada database Windows. Dasar untuk bahasa ini digunakan oleh platform.net, dikembangkan oleh Microsoft sejak 2002.

Windows PowerShell memungkinkan Anda untuk mengotomatisasi banyak dari berbagai tugas. Dengan itu, Anda dapat mengelola file, layanan, proses, akun, dan pengaturan. Bahasa PowerShell memahami banyak tim dari biasa Garis komando Windows (CMD), tetapi juga memiliki bahasa sendiri yang terdiri dari perintahnya sendiri, yang disebut Celts di sini.

Piala (dalam cmdlet Inggris) dibentuk oleh aturan glagol-noun, misalnya, dapatkan bantuan. Anda dapat membiasakan diri dengan dasar-dasar Windows PowerShell menggunakan bantuan (get-help cmdlet). Untuk mendapatkan informasi umum, cukup masukkan perintah "get-help", masukkan "get-help-name-cmdlet" untuk menerima cmdlet tertentu. Misalnya, jika Anda memasukkan perintah "Get-Bantuan Get-Process", maka kami akan menerima bantuan CMOT proses.

Cara menjalankan program Windows PowerShell

Program Windows PowerShell dapat diluncurkan cara yang berbeda. Pilihan termudah adalah dengan hanya menggunakan pencarian di menu Mulai. Untuk melakukan ini, buka menu Mulai, masukkan kueri pencarian "Windows PowerShell", setelah itu Anda membuka program yang ditemukan.

Anda juga dapat menggunakan kombinasi kunci Windows-R Dan masukkan perintah "PowerShell".

Di Windows 10, program PowerShell dapat dijalankan dari folder apa pun. Untuk melakukan ini, klik tombol "File" di sudut kiri atas konduktor dan pilih "Jalankan Windows PowerShell".

Cara menggunakan Windows PowerShell

Seperti yang kami katakan, dengan bantuan program PowerShell, banyak tugas rutin dapat mengotomatisasi sistem operasi Windows. Misalnya, kami akan menunjukkan beberapa fitur yang dimiliki alat ini, untuk menjadi jelas cara menggunakannya.

Keranjang pembersih. Ada cmdlet khusus untuk membersihkan keranjang, yang disebut "Clear-RecycleBin". Cmdlet ini berguna saat menulis skrip untuk memelihara komputer. Saat mengeksekusi cmdlet, Anda perlu menentukan disk yang ingin Anda bersihkan keranjang. Contoh:

Clear-RecycleBin C:

Dalam tangkapan layar di bawah ini, dapat dilihat bagaimana cmdlet ini dilakukan. Setelah memasukkan perintah "Clear-RecycleBin C:", permintaan konfirmasi muncul. Untuk melanjutkan eksekusi Cmdlet, Anda harus memasukkan huruf "Y" dan tekan Enter.

Jika Anda menambahkan "-Force" ke CMDlet "Clear-RecycleBin C:", kemudian membersihkan keranjang dilakukan tanpa permintaan konfirmasi. Screenshot di bagian bawah.

Arsip File.. Untuk mengarsipkan dan membongkar file, arsip-kompres dan cmdlet arsip-ekspansi disediakan. Misalnya, untuk mengarsipkan folder "c: \\ test \\" ke arsip "c: \\ arsip \\ test2.zip" Anda perlu menjalankan cmdlet berikut:

Kompres-arsip -LiteralPath C: \\ Test \\ -DestinasiPath C: \\ arsip \\ test2.zip

Sebagai hasil dari eksekusi perintah yang ditunjukkan di atas, file "test2.zip" muncul di folder "C: \\ Archive \\" di mana konten Folder C: que \\ akan muncul.

Daftar cmdlet untuk Windows PowerShell

Untuk Windows PowerShell, ada sejumlah besar cmdlet yang berbeda dan menggambarkan semuanya dalam satu artikel tidak akan berfungsi. Karena itu, kami sarankan membiasakan diri dengan yang paling dicari:

  • Dapatkan bantuan - menerima referensi;
  • Pembaruan-Bantuan - Referensi Refresh;
  • Get-Command - Cari cmdlet;
  • Get-alias - Cari Pseudonyms untuk Cmdlets;
  • Get-PSDrive - Lihat disk yang terhubung;
  • Get-Anggota - Melihat Properties dan Metode yang memiliki objek;
  • Get-WindowsFeature - Lihat informasi tentang peran yang tersedia dan komponen server;
  • Instal-WindowsFeature (Analog Add-WindowsFeature) - Mengatur peran atau komponen ke server yang diinginkan;
  • Hapus instalan-WindowsFeature (analog Hapus-WindowsFeature) - Menghapus komponen peran atau server;
  • Get-History - Lihat sejarah tim yang diperkenalkan dalam sesi ini;
  • Get-variable - Lihat daftar variabel dan nilainya;
  • Variabel baru - Membuat variabel baru;
  • Set-variabel - menetapkan nilai variabel;
  • Hapus variabel - penghapusan nilai variabel;
  • Hapus-variabel - Melepaskan variabel dan nilai-nilainya;
  • Daftar format - Lihat hasil dari perintah sebagai daftar properti, di mana di setiap baris properti terpisah;
  • Format-tabel - Lihat hasil dari perintah dalam format tabel;
  • Format-lebar - Lihat hasil dari perintah dalam bentuk tabel lebar, di mana hanya satu properti yang ditampilkan untuk setiap objek;
  • Format-Custom - Lihat hasil dari perintah menggunakan tampilan pengguna;
  • Ekspor-CSV - Ekspor data ke format CSV;
  • Impor-CSV - Impor data dari file CSV;
  • Ekspor-Clixml - Ekspor data ke format XML;

Anda bisa mendapatkan daftar lengkap cmdlet untuk Windows PowerShell dengan menjalankan get-command -Commandtype cmdlet cmdlet.