Powershell - Panduan Cepat

Windows PowerShell adalah file command-line shell dan scripting languagedirancang khusus untuk administrasi sistem. Analoginya di Linux disebut sebagai Bash Scripting. Dibangun di .NET Framework, Windows PowerShell membantu profesional TI untuk mengontrol dan mengotomatiskan administrasi sistem operasi Windows dan aplikasi yang berjalan di lingkungan Windows Server.

Perintah Windows PowerShell, disebut cmdlets, memungkinkan Anda mengelola komputer dari baris perintah. Penyedia Windows PowerShell memungkinkan Anda mengakses penyimpanan data, seperti Registry dan Penyimpanan Sertifikat, semudah Anda mengakses sistem file.

Selain itu, Windows PowerShell memiliki parser ekspresi yang kaya dan bahasa skrip yang dikembangkan sepenuhnya. Jadi dengan kata sederhana Anda dapat menyelesaikan semua tugas yang Anda lakukan dengan GUI dan banyak lagi.

PowerShell ISE

Windows PowerShell Integrated Scripting Environment(ISE) adalah aplikasi host untuk Windows PowerShell. Di Windows PowerShell ISE, Anda dapat menjalankan perintah dan menulis, menguji, dan men-debug skrip dalam satu antarmuka pengguna grafis berbasis Windows dengan pengeditan multiline, penyelesaian tab, pewarnaan sintaks, eksekusi selektif, bantuan peka konteks, dan dukungan untuk hak untuk bahasa -kiri.

Anda dapat menggunakan item menu dan pintasan keyboard untuk melakukan banyak tugas yang sama yang akan Anda lakukan di konsol Windows PowerShell. Misalnya, saat Anda men-debug skrip di Windows PowerShell ISE, untuk menyetel breakpoint baris dalam skrip, klik kanan baris kode, lalu klikToggle Breakpoint.

Perintah Dasar PowerShell

Ada banyak perintah PowerShell dan sangat sulit untuk memasukkan semua perintah ini dalam tutorial ini, kami akan fokus pada beberapa perintah yang paling penting serta dasar dari PowerShell.

Langkah pertama adalah masuk ke perintah Get-Help yang memberi Anda penjelasan tentang cara memberikan perintah dan parameternya.

Ikon PowerShell dapat ditemukan di bilah tugas dan di menu mulai. Hanya dengan mengklik ikonnya, itu akan terbuka.

Untuk membukanya, cukup klik ikonnya dan kemudian layar berikut akan terbuka dan itu berarti PowerShell siap untuk Anda kerjakan.

Versi PowerShell

Versi terbaru PowerShell adalah 5.0 dan untuk memeriksa apa yang diinstal di server kami, kami ketik perintah berikut - :$PSVersionTable seperti yang ditunjukkan pada screenshot berikut dan dari layar kita juga tahu bahwa kita memiliki PSVersion 4.0

Untuk memperbarui dengan versi terbaru yang memiliki lebih banyak Cmdlet, kami harus mengunduh Windows Management Framework 5.0 dari tautan berikut - https://www.microsoft.com/en-us/download/details.aspx?id=50395 dan instal.

PowerShell ISE

Windows PowerShell Integrated Scripting Environment(ISE) adalah aplikasi host untuk Windows PowerShell. Di Windows PowerShell ISE, Anda dapat menjalankan perintah dan menulis, menguji, dan men-debug skrip dalam satu antarmuka pengguna grafis berbasis Windows dengan pengeditan multiline, penyelesaian tab, pewarnaan sintaks, eksekusi selektif, bantuan peka konteks, dan dukungan untuk hak untuk bahasa -kiri.

Anda dapat menggunakan item menu dan pintasan keyboard untuk melakukan banyak tugas yang sama yang akan Anda lakukan di konsol Windows PowerShell. Misalnya, saat Anda men-debug skrip di Windows PowerShell ISE, untuk menyetel breakpoint baris dalam skrip, klik kanan baris kode, lalu klikToggle Breakpoint.

Untuk membukanya Anda cukup pergi ke Start - Search lalu Ketik - PowerShell seperti yang ditunjukkan pada gambar berikut.

Kemudian klik pada Windows PowerShell ISE. Atau klik panah bawah seperti yang ditunjukkan pada gambar berikut.

Ini akan mencantumkan semua aplikasi yang diinstal di server dan kemudian klik pada Windows PowerShell ISE.

Tabel berikut akan terbuka -

Ini memiliki tiga bagian, yang meliputi - The PowerShell Console dengan nomor 1, lalu Scripting File nomor 2 dan yang ketiga adalah Command Module di mana Anda dapat menemukan modul tersebut.

Saat membuat skrip Anda dapat menjalankan secara langsung dan melihat hasilnya seperti contoh berikut -

Perintah Dasar PowerShell

Ada banyak perintah PowerShell dan sangat sulit untuk memasukkan semua perintah ini dalam tutorial ini, kami akan fokus pada beberapa perintah yang paling penting serta dasar dari PowerShell.

Langkah pertama adalah masuk ke perintah Get-Help yang memberi Anda penjelasan tentang cara memberikan perintah dan parameternya.

To get the list of Updates -

  • Dapatkan-HotFix dan untuk menginstal hot fix sebagai berikut
  • Dapatkan-HotFix -id kb2741530

Cmdlet atau "Command let" adalah perintah ringan yang digunakan di lingkungan Windows PowerShell. Runtime Windows PowerShell memanggil cmdlet ini pada prompt perintah. Anda dapat membuat dan menjalankannya secara terprogram melalui Windows PowerShell API.

Cmdlet vs Perintah

Cmdlet sangat berbeda dari perintah di lingkungan shell-perintah lain dengan cara berikut -

  • Cmdlet adalah objek kelas .NET Framework; dan bukan hanya file executable yang berdiri sendiri.

  • Cmdlet dapat dengan mudah dibuat dari selusin baris kode.

  • Penguraian, presentasi kesalahan, dan pemformatan keluaran tidak ditangani oleh cmdlet. Ini dilakukan oleh runtime Windows PowerShell.

  • Proses cmdlet bekerja pada objek bukan pada aliran teks dan objek dapat dikirimkan sebagai output untuk pipelining.

  • Cmdlet berbasis rekaman karena mereka memproses satu objek dalam satu waktu.

Mendapatkan bantuan

Langkah pertama adalah masuk ke perintah Get-Help yang memberi Anda penjelasan tentang cara memberikan perintah dan parameternya.

Berikut adalah contoh skrip PowerShell di File dan Folder.

Sr.No. Operasi & Deskripsi
1 Membuat Folder

Contoh Script untuk menunjukkan cara membuat folder menggunakan script PowerShell.

2 Membuat File

Contoh Script untuk menunjukkan cara membuat file menggunakan script PowerShell.

3 Menyalin Folder

Contoh Script untuk menunjukkan cara menyalin file menggunakan skrip PowerShell.

4 Menyalin File

Contoh Script untuk menunjukkan cara membuat file menggunakan script PowerShell.

5 Menghapus Folder

Contoh Script untuk menunjukkan cara menghapus folder menggunakan script PowerShell.

6 Menghapus File

Contoh Script untuk menunjukkan cara menghapus file menggunakan script PowerShell.

7 Memindahkan Folder

Contoh Skrip untuk menunjukkan cara memindahkan folder menggunakan skrip PowerShell.

8 Memindahkan File

Contoh Script untuk menunjukkan bagaimana memindahkan file menggunakan script PowerShell.

9 Ubah Nama Folder

Contoh Skrip untuk menunjukkan cara mengganti nama folder menggunakan skrip PowerShell.

10 Ganti Nama File

Contoh Script untuk menunjukkan cara mengganti nama file menggunakan script PowerShell.

11 Mengambil Item

Contoh Script untuk menunjukkan cara mengambil item menggunakan script PowerShell.

12 Periksa Keberadaan Folder

Contoh Script untuk menunjukkan cara memeriksa keberadaan folder menggunakan skrip PowerShell.

13 Periksa Keberadaan File

Contoh Script untuk menunjukkan bagaimana memeriksa keberadaan file menggunakan script PowerShell.

Berikut adalah contoh skrip PowerShell pada Tanggal dan Waktu Sistem.

Sr.No. Operasi & Deskripsi
1 Dapatkan Tanggal Sistem

Contoh Script untuk menunjukkan bagaimana mendapatkan tanggal sistem menggunakan script PowerShell.

2 Tetapkan Tanggal Sistem

Contoh Script untuk menunjukkan cara menyetel tanggal sistem menggunakan skrip PowerShell.

3 Dapatkan Waktu Sistem

Contoh Script untuk menunjukkan bagaimana mendapatkan waktu sistem menggunakan script PowerShell.

4 Atur Waktu Sistem

Contoh Script untuk menunjukkan bagaimana mengatur waktu sistem menggunakan script PowerShell.

Berikut adalah contoh skrip PowerShell untuk membuat dan membaca berbagai jenis file.

Sr.No. Operasi & Deskripsi
1 Buat File Teks

Contoh Script untuk menunjukkan cara membuat file teks menggunakan script PowerShell.

2 Baca File Teks

Contoh Script untuk menunjukkan cara membaca file teks menggunakan script PowerShell.

3 Buat File XML

Contoh Script untuk menunjukkan cara membuat file XML menggunakan skrip PowerShell.

4 Baca File XML

Contoh Script untuk menunjukkan cara membaca file XML menggunakan skrip PowerShell.

5 Buat File CSV

Contoh Script untuk menunjukkan cara membuat file CSV menggunakan script PowerShell.

6 Baca File CSV

Contoh Script untuk menunjukkan cara membaca file CSV menggunakan script PowerShell.

7 Buat File HTML

Contoh Script untuk menunjukkan cara membuat file HTML menggunakan script PowerShell.

8 Baca File HTML

Contoh Script untuk menunjukkan cara membaca file HTML menggunakan script PowerShell.

9 Menghapus konten file

Contoh Script untuk menunjukkan cara menghapus konten file menggunakan skrip PowerShell.

10 Tambahkan Data Teks

Contoh Script untuk menunjukkan cara menambahkan teks ke konten file menggunakan skrip PowerShell.

Cmdlet

Cmdlet atau "Command let" adalah perintah ringan yang digunakan di lingkungan Windows PowerShell. Runtime Windows PowerShell memanggil cmdlet ini pada prompt perintah. Anda dapat membuat dan menjalankannya secara terprogram melalui Windows PowerShell API. Berikut adalah contoh penggunaan lanjutan cmdlet.

Sr.No. Jenis & Deskripsi Cmdlet
1 Dapatkan Cmdlet Unik

Contoh program untuk menampilkan Get-Unique Cmdlet.

2

Group-Object Cmdlet

Contoh program untuk menampilkan Group-Object Cmdlet.

3 Cmdlet Ukur-Objek

Contoh program untuk menampilkan Measure-Object Cmdlet.

4 Bandingkan-Objek Cmdlet

Contoh program untuk menampilkan Bandingkan-Objek Cmdlet.

5 Cmdlet Daftar Format

Contoh program untuk menampilkan Format-List Cmdlet.

6 Format-Lebar Cmdlet

Contoh program untuk menampilkan Format-Wide Cmdlet.

7 Di mana-Objek Cmdlet

Contoh program untuk menampilkan Where-Object Cmdlet.

8 Cmdlet Get-ChildItem

Contoh program untuk menampilkan Get-ChildItem Cmdlet.

9 Cmdlet ForEach-Object

Contoh program untuk menampilkan ForEach-Object Cmdlet.

10 Cmdlet Mulai-Tidur

Contoh program untuk menampilkan Start-Sleep Cmdlet.

11 Cmdlet Inang-Baca

Contoh program untuk menampilkan Cmdlet Read-Host.

12 Pilih-Objek Cmdlet

Contoh program untuk menampilkan Select-Object Cmdlet.

13 Cmdlet Sortir Objek

Contoh program untuk menampilkan Cmdlet Sort-Object.

14 Cmdlet Peringatan Tulis

Contoh program untuk menampilkan Cmdlet Peringatan Tulis.

15 Cmdlet Inang-Tulis

Contoh program untuk menampilkan Write-Host Cmdlet.

16 Cmdlet Item Panggilan

Contoh program untuk menampilkan Invoke-Item Cmdlet.

17 Cmdlet Panggil-Ekspresi

Contoh program untuk menampilkan Invoke-Expression Cmdlet.

18 Cmdlet Perintah Ukur

Contoh program untuk menampilkan Measure-Command Cmdlet.

19 Cmdlet Riwayat Panggilan

Contoh program untuk menampilkan Invoke-History Cmdlet.

20 Cmdlet Tambah-Riwayat

Contoh program untuk menampilkan Cmdlet Add-History.

21 Cmdlet Get-History

Contoh program untuk menampilkan Get-History Cmdlet.

22 Cmdlet Get-Culture

Contoh program untuk menampilkan Get-Culture Cmdlet.

Windows PowerShell adalah file command-line shell dan scripting languagedirancang khusus untuk administrasi sistem. Analoginya di Linux disebut sebagai Bash Scripting. Dibangun di .NET Framework, Windows PowerShell membantu profesional TI untuk mengontrol dan mengotomatiskan administrasi sistem operasi Windows dan aplikasi yang berjalan di lingkungan Windows Server.

Perintah Windows PowerShell, disebut cmdlets, memungkinkan Anda mengelola komputer dari baris perintah. Penyedia Windows PowerShell memungkinkan Anda mengakses penyimpanan data, seperti Registry dan Penyimpanan Sertifikat, semudah Anda mengakses sistem file.

Selain itu, Windows PowerShell memiliki parser ekspresi yang kaya dan bahasa skrip yang dikembangkan sepenuhnya. Jadi dengan kata sederhana Anda dapat menyelesaikan semua tugas yang Anda lakukan dengan GUI dan banyak lagi. Windows PowerShell Scripting adalah bahasa skrip yang dikembangkan sepenuhnya dan memiliki parser ekspresi yang kaya /

fitur

  • Cmdlets - Cmdlet melakukan tugas administrasi sistem umum, misalnya mengelola registri, layanan, proses, log peristiwa, dan menggunakan Windows Management Instrumentation (WMI).

  • Task oriented - Bahasa skrip PowerShell berbasis tugas dan memberikan dukungan untuk skrip dan alat baris perintah yang ada.

  • Consistent design- Karena cmdlet dan penyimpanan data sistem menggunakan sintaks umum dan memiliki konvensi penamaan yang sama, berbagi data menjadi mudah. Output dari satu cmdlet dapat disambungkan ke cmdlet lain tanpa manipulasi apa pun.

  • Simple to Use - Navigasi berbasis perintah yang disederhanakan memungkinkan pengguna menavigasi registri dan penyimpanan data lain yang serupa dengan navigasi sistem file.

  • Object based- PowerShell memiliki kemampuan manipulasi objek yang kuat. Objek dapat dikirim ke alat atau database lain secara langsung.

  • Extensible interface. - PowerShell dapat disesuaikan karena vendor perangkat lunak independen dan pengembang perusahaan dapat membuat alat dan utilitas khusus menggunakan PowerShell untuk mengelola perangkat lunak mereka.

Variabel

Variabel PowerShell diberi nama objek. Saat PowerShell bekerja dengan objek, variabel ini digunakan untuk bekerja dengan objek.

Membuat variabel

Nama variabel harus dimulai dengan $ dan dapat berisi karakter alfanumerik dan garis bawah pada namanya. Variabel dapat dibuat dengan mengetikkan nama variabel yang valid.

Ketik perintah berikut di PowerShell ISE Console. Dengan asumsi Anda berada di folder D: \ test.

$location = Get-Location

Di sini kita telah membuat variabel $ location dan menugaskannya sebagai output dari cmdlet Get-Location. Sekarang berisi lokasi saat ini.

Menggunakan variabel

Ketik perintah berikut di PowerShell ISE Console.

$location

Keluaran

Anda dapat melihat output berikut di konsol PowerShell.

Path                                                                                    
----                                                                                    
D:\test

Mendapatkan informasi variabel

Cmdlet Get-Member dapat mengetahui jenis variabel yang digunakan. Lihat contoh di bawah ini.

$location | Get-Member

Keluaran

Anda dapat melihat output berikut di konsol PowerShell.

TypeName: System.Management.Automation.PathInfo

Name          MemberType   Definition                                               
----          ----------   ----------                                               
Equals        Method       bool Equals(System.Object obj)                           
GetHashCode   Method       int GetHashCode()                                        
GetType       Method       type GetType()                                           
ToString      Method       string ToString()                                        
Drive         Property     System.Management.Automation.PSDriveInfo Drive {get;}    
Path          Property     System.String Path {get;}                                
Provider      Property     System.Management.Automation.ProviderInfo Provider {get;}
ProviderPath  Property     System.String ProviderPath {get;}

Variabel khusus PowerShell menyimpan informasi tentang PowerShell. Ini juga disebut variabel otomatis. Berikut adalah daftar variabel otomatis -

Operator Deskripsi
$$ Merepresentasikan token terakhir di baris terakhir yang diterima sesi.
$? Mewakili status eksekusi dari operasi terakhir. Ini berisi TRUE jika operasi terakhir berhasil dan FALSE jika gagal.
$ ^ Merupakan token pertama di baris terakhir yang diterima oleh sesi.
$ _ Sama seperti $ PSItem. Berisi objek saat ini di objek pipeline. Anda dapat menggunakan variabel ini dalam perintah yang melakukan tindakan pada setiap objek atau objek yang dipilih dalam sebuah pipa.
$ ARGS Merepresentasikan larik dari parameter yang tidak dideklarasikan dan / atau nilai parameter yang diteruskan ke fungsi, skrip, atau blok skrip.
$ CONSOLEFILENAME Merepresentasikan jalur file konsol (.psc1) yang terakhir digunakan dalam sesi.
$ ERROR Merepresentasikan larik objek kesalahan yang mewakili kesalahan terbaru.
$ EVENT Merepresentasikan objek PSEventArgs yang mewakili peristiwa yang sedang diproses.
$ EVENTARGS Merepresentasikan objek yang merepresentasikan argumen event pertama yang berasal dari EventArgs event yang sedang diproses.
$ EVENTSUBSCRIBER Merepresentasikan objek PSEventSubscriber yang mewakili event subscriber dari event yang sedang diproses.
$ EXECUTIONCONTEXT Merepresentasikan objek EngineIntrinsics yang mewakili konteks eksekusi host PowerShell.
$ FALSE Mewakili FALSE. Anda dapat menggunakan variabel ini untuk merepresentasikan FALSE dalam perintah dan skrip daripada menggunakan string "false".
$ FOREACH Merepresentasikan enumerator (bukan nilai yang dihasilkan) dari loop ForEach. Anda dapat menggunakan properti dan metode enumerator pada nilai variabel $ ForEach.
$ HOME Merepresentasikan jalur lengkap direktori home pengguna.
$ HOST Merepresentasikan objek yang mewakili aplikasi host saat ini untuk PowerShell.
$ INPUT Merepresentasikan enumerator yang menghitung semua input yang diteruskan ke suatu fungsi.
$ LASTEXITCODE Merepresentasikan kode keluar dari program berbasis Windows terakhir yang dijalankan.
$ PERTANDINGAN Variabel $ Matches bekerja dengan operator -match dan -notmatch.
$ MYINVOCATION $MyInvocation is populated only for scripts, function, and script blocks. PSScriptRoot and PSCommandPath properties of the $Variabel otomatis MyInvocation berisi informasi tentang pemanggil atau skrip panggilan, bukan skrip saat ini.
$ NESTEDPROMPTLEVEL Merepresentasikan level prompt saat ini.
$ NULL $ null adalah variabel otomatis yang berisi NULL atau nilai kosong. Anda dapat menggunakan variabel ini untuk mewakili nilai yang tidak ada atau tidak ditentukan dalam perintah dan skrip.
$ PID Merepresentasikan proses pengidentifikasi (PID) dari proses yang menjadi host sesi PowerShell saat ini.
$ PROFIL Merepresentasikan lintasan lengkap profil PowerShell untuk pengguna saat ini dan aplikasi host saat ini.
$ PSCMDLET Merepresentasikan objek yang mewakili cmdlet atau fungsi lanjutan yang sedang dijalankan.
$ PSCOMMANDPATH Merupakan jalur lengkap dan nama file dari skrip yang sedang dijalankan.
$ PSCULTURE Mewakili nama budaya yang saat ini digunakan dalam sistem operasi.
$ PSDEBUGCONTEXT Saat men-debug, variabel ini berisi informasi tentang lingkungan debugging. Jika tidak, ini berisi nilai NULL.
$ PSHOME Merupakan jalur lengkap direktori penginstalan untuk PowerShell.
$ PSITEM Sama seperti $ _. Berisi objek saat ini di objek pipeline.
$ PSSCRIPTROOT Merepresentasikan direktori tempat skrip dijalankan.
$ PSSENDERINFO Merepresentasikan informasi tentang pengguna yang memulai PSSession, termasuk identitas pengguna dan zona waktu komputer asal.
$ PSUICULTURE Mewakili nama budaya antarmuka pengguna (UI) yang saat ini digunakan dalam sistem operasi.
$ PSVERSIONTABLE Merepresentasikan tabel hash hanya baca yang menampilkan detail tentang versi PowerShell yang berjalan di sesi saat ini.
$ SENDER Merupakan objek yang menghasilkan acara ini.
$ SHELLID Merupakan pengenal dari shell saat ini.
$ STACKTRACE Merepresentasikan pelacakan tumpukan untuk kesalahan terbaru.
$ INI Dalam blok skrip yang mendefinisikan properti skrip atau metode skrip, variabel $ This merujuk ke objek yang sedang diperluas.
$ BENAR Mewakili TRUE. Anda dapat menggunakan variabel ini untuk mewakili BENAR dalam perintah dan skrip.

PowerShell menyediakan sekumpulan operator yang kaya untuk memanipulasi variabel. Kami dapat membagi semua operator PowerShell ke dalam grup berikut -

  • Operator Aritmatika
  • Operator Penugasan
  • Operator Perbandingan
  • Operator Logis
  • Operator Pengalihan
  • Menumpahkan dan Bergabung dengan Operator
  • Jenis Operator
  • Operator Unary

Operator Aritmatika

Operator aritmatika digunakan dalam ekspresi matematika dengan cara yang sama seperti yang digunakan dalam aljabar. Tabel berikut mencantumkan operator aritmatika -

Asumsikan variabel integer A menampung 10 dan variabel B menampung 20, lalu -

Tunjukkan Contoh

Operator Deskripsi Contoh
+ (Penambahan) Menambahkan nilai di kedua sisi operator. A + B akan menghasilkan 30
- (Pengurangan) Mengurangi operan kanan dari operan kiri. A - B akan memberi -10
* (Perkalian) Mengalikan nilai di kedua sisi operator. A * B akan memberi 200
/ (Divisi) Membagi operan kiri dengan operan kanan. B / A akan memberi 2
% (Modulus) Membagi operan kiri dengan operan kanan dan mengembalikan sisanya. B% A akan memberi 0

Operator Pembanding

Berikut adalah operator penetapan yang didukung oleh bahasa PowerShell -

Asumsikan variabel integer A menampung 10 dan variabel B menampung 20, lalu -

Tunjukkan Contoh

Operator Deskripsi Contoh
eq (sama dengan) Membandingkan dua nilai menjadi sama atau tidak. A -eq B akan memberikan nilai salah
ne (tidak sama dengan) Membandingkan dua nilai agar tidak sama. A -ne B akan memberikan kebenaran
gt (lebih besar dari) Membandingkan nilai pertama agar lebih besar dari yang kedua. B -gt A akan memberikan true
ge (lebih besar dari atau sama dengan) Membandingkan nilai pertama menjadi lebih besar dari atau sama dengan nilai kedua. B -ge A akan memberikan true
lt (kurang dari) Membandingkan nilai pertama menjadi kurang dari yang kedua. B -lt A akan memberikan nilai salah
le (kurang dari atau sama dengan) Membandingkan nilai pertama menjadi kurang dari atau sama dengan nilai kedua. B -le A akan memberikan false

Operator Penugasan

Berikut adalah operator penetapan yang didukung oleh bahasa PowerShell -

Tunjukkan Contoh

Operator Deskripsi Contoh
= Operator tugas sederhana. Menetapkan nilai dari operan sisi kanan ke operan sisi kiri. C = A + B akan memberikan nilai A + B ke dalam C
+ = Tambahkan DAN operator penugasan. Ini menambahkan operan kanan ke operan kiri dan menetapkan hasilnya ke operan kiri. C + = A ekivalen dengan C = C + A
- = Kurangi DAN operator penugasan. Ini mengurangi operan kanan dari operan kiri dan menetapkan hasilnya ke operan kiri. C - = A ekivalen dengan C = C - A

Operator Logis

Tabel berikut mencantumkan operator logika -

Asumsikan variabel Boolean A bernilai true dan variabel B bernilai false, lalu -

Tunjukkan Contoh

Operator Deskripsi Contoh
DAN (logis dan) Disebut Logical AND operator. Jika kedua operan bukan nol, maka kondisinya menjadi benar. (A -AND B) salah
ATAU (logis atau) Disebut Logical OR Operator. Jika salah satu dari dua operan bukan nol, maka kondisinya menjadi benar. (A -OR B) benar
TIDAK (tidak logis) Disebut Logical NOT Operator. Gunakan untuk membalikkan keadaan logis operannya. Jika kondisi benar maka operator NOT akan membuat salah. -TIDAK (A -AND B) benar

Operator Miscellaneous

Berikut adalah berbagai operator penting yang didukung oleh bahasa PowerShell -

Tunjukkan Contoh

Operator Deskripsi Contoh
> (Opeator Pengalihan) Operator pengalihan. Menetapkan keluaran untuk dicetak ke file yang diarahkan ulang / perangkat keluaran. dir> test.log akan mencetak daftar direktori dalam file test.log

Mungkin ada situasi ketika Anda perlu mengeksekusi blok kode beberapa kali. Secara umum, pernyataan dieksekusi secara berurutan: Pernyataan pertama dalam suatu fungsi dijalankan pertama, diikuti oleh yang kedua, dan seterusnya.

Bahasa pemrograman menyediakan berbagai struktur kontrol yang memungkinkan jalur eksekusi yang lebih rumit.

SEBUAH loop Pernyataan memungkinkan kita untuk mengeksekusi pernyataan atau sekelompok pernyataan beberapa kali dan berikut adalah bentuk umum dari pernyataan loop di sebagian besar bahasa pemrograman -

Bahasa pemrograman PowerShell menyediakan tipe loop berikut untuk menangani persyaratan perulangan. Klik tautan berikut untuk memeriksa detailnya.

Sr.No. Loop & Deskripsi
1 untuk loop

Jalankan urutan pernyataan beberapa kali dan singkatkan kode yang mengelola variabel loop.

2 forEach loop

Ditingkatkan untuk loop. Ini terutama digunakan untuk melintasi kumpulan elemen termasuk array.

3 while loop

Mengulangi pernyataan atau sekelompok pernyataan saat kondisi tertentu benar. Ini menguji kondisi sebelum menjalankan badan perulangan.

4 lakukan ... while loop

Seperti pernyataan while, kecuali pernyataan itu menguji kondisi di akhir badan perulangan.

Struktur pengambilan keputusan memiliki satu atau lebih kondisi untuk dievaluasi atau diuji oleh program, bersama dengan pernyataan atau pernyataan yang akan dieksekusi jika kondisi ditentukan benar, dan secara opsional, pernyataan lain untuk dieksekusi jika kondisi ditentukan menjadi salah.

Berikut ini adalah bentuk umum dari struktur pengambilan keputusan khas yang ditemukan di sebagian besar bahasa pemrograman -

Bahasa skrip PowerShell menyediakan tipe pernyataan pengambilan keputusan berikut ini. Klik tautan berikut untuk memeriksa detailnya.

Sr.No. Pernyataan & Deskripsi
1 jika pernyataan

Sebuah if statement terdiri dari ekspresi boolean yang diikuti oleh satu atau beberapa pernyataan.

2 jika ... pernyataan lain

Sebuah if statement bisa diikuti dengan opsional else statement, yang dijalankan jika ekspresi boolean salah.

3 pernyataan if bersarang

Anda bisa menggunakannya if atau elseif pernyataan di dalam yang lain if atau elseif pernyataan.

4 pernyataan switch

SEBUAH switch pernyataan memungkinkan variabel untuk diuji kesetaraan terhadap daftar nilai.

PowerShell menyediakan struktur data, file array, yang menyimpan kumpulan elemen berurutan ukuran tetap dari jenis apa pun. Array digunakan untuk menyimpan kumpulan data, tetapi seringkali lebih berguna untuk menganggap array sebagai kumpulan variabel atau objek.

Alih-alih mendeklarasikan variabel individual, seperti number0, number1, ..., dan number99, Anda mendeklarasikan satu variabel array seperti bilangan dan menggunakan bilangan [0], bilangan [1], dan ..., bilangan [99] untuk mewakili variabel individu.

Tutorial ini memperkenalkan cara mendeklarasikan variabel array, membuat array, dan memproses array menggunakan variabel yang diindeks.

Mendeklarasikan Variabel Array

Untuk menggunakan array dalam program, Anda harus mendeklarasikan variabel untuk mereferensikan array, dan Anda dapat menentukan jenis array yang dapat direferensikan variabel tersebut. Berikut adalah sintaks untuk mendeklarasikan variabel array -

Sintaksis

$A = 1, 2, 3, 4
or
$A = 1..4

Note- Secara default tipe objek dari array adalah System.Object. Metode GetType () mengembalikan tipe array. Jenis bisa dilalui.

Contoh

Potongan kode berikut adalah contoh sintaks ini -

[int32[]]$intA = 1500,2230,3350,4000

$A = 1, 2, 3, 4 $A.getType()

Ini akan menghasilkan hasil sebagai berikut -

Keluaran

IsPublic    IsSerial    Name                        BaseType                     
--------    --------    ----                        --------                     
True        True        Object[]                    System.Array

Elemen array diakses melalui index. Indeks array berbasis 0; artinya, mereka mulai dari 0 hinggaarrayRefVar.length-1.

Contoh

Pernyataan berikut mendeklarasikan variabel array, myList, membuat array 10 elemen tipe ganda dan memberikan referensinya ke myList -

$myList = 5.6, 4.5, 3.3, 13.2, 4.0, 34.33, 34.0, 45.45, 99.993, 11123

Gambar berikut mewakili array myList. Di sini, myList memiliki sepuluh nilai ganda dan indeksnya dari 0 hingga 9.

Memproses Array

Saat memproses elemen array, kami sering menggunakan salah satunya for loop atau foreach loop karena semua elemen dalam array memiliki tipe yang sama dan ukuran array diketahui.

Contoh

Berikut adalah contoh lengkap yang menunjukkan cara membuat, menginisialisasi, dan memproses array -

$myList = 5.6, 4.5, 3.3, 13.2, 4.0, 34.33, 34.0, 45.45, 99.993, 11123

write-host("Print all the array elements")
$myList write-host("Get the length of array") $myList.Length

write-host("Get Second element of array")
$myList[1] write-host("Get partial array") $subList = $myList[1..3] write-host("print subList") $subList

write-host("using for loop")
for ($i = 0; $i -le ($myList.length - 1); $i += 1) {
   $myList[$i]
}

write-host("using forEach Loop")
foreach ($element in $myList) {
   $element } write-host("using while Loop") $i = 0
while($i -lt 4) { $myList[$i]; $i++
}

write-host("Assign values")
$myList[1] = 10 $myList

Ini akan menghasilkan hasil sebagai berikut -

Keluaran

Print all the array elements
5.6
4.5
3.3
13.2
4
34.33
34
45.45
99.993
11123
Get the length of array
10
Get Second element of array
4.5
Get partial array
print subList
4.5
3.3
13.2
using for loop
5.6
4.5
3.3
13.2
4
34.33
34
45.45
99.993
11123
using forEach Loop
5.6
4.5
3.3
13.2
4
34.33
34
45.45
99.993
11123
using while Loop
5.6
4.5
3.3
13.2
Assign values
5.6
10
3.3
13.2
4
34.33
34
45.45
99.993
11123

Contoh Metode Array

Berikut adalah contoh lengkap yang menunjukkan operasi pada array menggunakan metodenya

$myList = @(0..4) write-host("Print array") $myList

$myList = @(0..4) write-host("Assign values") $myList[1]  = 10
$myList

Ini akan menghasilkan hasil sebagai berikut -

Keluaran

Clear array
Print array
0
1
2
3
4
Assign values
0
10
2
3
4

Hashtable menyimpan pasangan kunci / nilai dalam tabel hash. Saat menggunakan Hashtable, Anda menentukan objek yang digunakan sebagai kunci, dan nilai yang ingin Anda tautkan ke kunci tersebut. Umumnya kami menggunakan String atau angka sebagai kunci.

Tutorial ini memperkenalkan cara mendeklarasikan variabel hashtable, membuat hashtable, dan memproses hashtable menggunakan metodenya.

Mendeklarasikan Variabel hashtable

Untuk menggunakan hashtable dalam sebuah program, Anda harus mendeklarasikan variabel untuk mereferensikan hashtable tersebut. Berikut adalah sintaks untuk mendeklarasikan variabel hashtable -

Sintaksis

$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"}
or
$hash = @{}

Note- Kamus yang dipesan dapat dibuat menggunakan sintaks yang serupa. Kamus berurutan mempertahankan urutan entri ditambahkan sedangkan hashtable tidak.

Contoh

Potongan kode berikut adalah contoh sintaks ini -

$hash = [ordered]@{ ID = 1; Shape = "Square"; Color = "Blue"}

Cetak hashtable.

$hash

Keluaran

Name                           Value    
----                           -----                                                    
ID                             1                                                        
Color                          Blue                                                     
Shape                          Square

Nilai hashtable diakses melalui keys.

> $hash["ID"]
 1

Memproses Hashtable

Notasi titik dapat digunakan untuk mengakses kunci atau nilai hashtables.

> $hash.keys ID Color Shape > $hash.values
1
Blue
Square

Contoh

Berikut adalah contoh lengkap yang menunjukkan cara membuat, menginisialisasi, dan memproses hashtable -

$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"} write-host("Print all hashtable keys") $hash.keys

write-host("Print all hashtable values")
$hash.values write-host("Get ID") $hash["ID"]

write-host("Get Shape")
$hash.Number write-host("print Size") $hash.Count

write-host("Add key-value")
$hash["Updated"] = "Now" write-host("Add key-value") $hash.Add("Created","Now")

write-host("print Size")
$hash.Count write-host("Remove key-value") $hash.Remove("Updated")

write-host("print Size")
$hash.Count write-host("sort by key") $hash.GetEnumerator() | Sort-Object -Property key

Ini akan menghasilkan hasil sebagai berikut -

Keluaran

Print all hashtable keys
ID
Color
Shape
Print all hashtable values
1
Blue
Square
Get ID
1
Get Shape
print Size
3
Add key-value
Add key-value
print Size
5
Remove key-value
print Size
4
sort by key

Name                           Value                                                                                                   
----                           -----                                                                                                   
Color                          Blue                                                                                                    
Created                        Now                                                                                                     
ID                             1                                                                                                       
Shape                          
Square

Ekspresi reguler adalah urutan karakter khusus yang membantu Anda mencocokkan atau menemukan string atau kumpulan string lain, menggunakan sintaks khusus yang disimpan dalam pola. Mereka dapat digunakan untuk mencari, mengedit, atau memanipulasi teks dan data.

Berikut adalah tabel yang mencantumkan semua ekspresi reguler metakarakter sintaks yang tersedia di PowerShell -

Subekspresi Cocok
^ Cocok dengan awal baris.
$ Cocok dengan akhir baris.
. Cocok dengan satu karakter apa pun kecuali baris baru. Menggunakanm opsi memungkinkannya untuk mencocokkan baris baru juga.
[...] Mencocokkan salah satu karakter dalam tanda kurung.
[^ ...] Cocok dengan satu karakter apa pun yang tidak ada dalam tanda kurung.
\SEBUAH Awal dari seluruh string.
\ z Akhir dari seluruh string.
\ Z Akhir dari seluruh string kecuali terminator baris terakhir yang diijinkan.
kembali* Cocok dengan 0 atau lebih kemunculan ekspresi sebelumnya.
re + Cocok dengan 1 atau lebih dari hal sebelumnya.
kembali? Cocok dengan 0 atau 1 kemunculan ekspresi sebelumnya.
kembali {n} Cocok persis dengan n jumlah kemunculan ekspresi sebelumnya.
kembali {n,} Cocok dengan n atau lebih kemunculan ekspresi sebelumnya.
kembali {n, m} Cocok setidaknya n dan paling banyak m kemunculan ekspresi sebelumnya.
a | b Cocok dengan a atau b.
(kembali) Kelompokkan ekspresi reguler dan ingat teks yang cocok.
(?: re) Kelompokkan ekspresi reguler tanpa mengingat teks yang cocok.
(?> kembali) Mencocokkan pola independen tanpa mundur.
\ w Cocok dengan karakter kata.
\ W Cocok dengan karakter bukan kata.
\ s Cocok dengan spasi. Setara dengan [\ t \ n \ r \ f].
\ S Cocok dengan nonwhitespace.
\ d Cocok dengan angka. Setara dengan [0-9].
\ D Cocok dengan nondigits.
\SEBUAH Cocok dengan awal string.
\ Z Cocok dengan ujung string. Jika ada baris baru, itu cocok sebelum baris baru.
\ z Cocok dengan ujung string.
\ G Cocok dengan poin di mana pertandingan terakhir selesai.
\ n Referensi balik untuk menangkap nomor kelompok "n".
\ b Cocok dengan batas kata saat berada di luar tanda kurung. Cocok dengan spasi mundur (0x08) saat berada di dalam tanda kurung.
\ B Cocok dengan batasan bukan kata.
\ n, \ t, dll. Cocok dengan baris baru, carriage return, tab, dll.
\ Q Escape (kutipan) semua karakter hingga \ E.
\ E Mengakhiri kutipan dimulai dengan \ Q.

Berikut adalah contoh lengkap yang menunjukkan cara menggunakan regex di PowerShell;

Sr.No. Pertandingan & Deskripsi
1 Karakter Pertandingan

Contoh karakter ekspresi reguler yang didukung.

2 Cocokkan Kelas Karakter

Contoh kelas karakter yang didukung.

3 Cocokkan Jumlah

Contoh bilangan yang didukung.

Operator backtick (`) juga disebut operator word-wrap. Ini memungkinkan perintah untuk ditulis dalam beberapa baris. Ini juga dapat digunakan untuk baris baru (`n) atau tab (` t) dalam kalimat. Lihat contoh di bawah -

Contoh 1

Get-Service * | Sort-Object ServiceType `
| Format-Table Name, ServiceType, Status -AutoSize

Itu akan menjadi

Get-Service * | Sort-Object ServiceType | Format-Table Name, ServiceType, Status -AutoSize

Verifikasi keluaran sebagai

Name                                                   ServiceType  Status
----                                                   -----------  ------
MSSQLServerADHelper100                             Win32OwnProcess Stopped
ntrtscan                                           Win32OwnProcess Running
...

Contoh 2

Penggunaan baris dan tab baru.

> Write-host "Title Subtitle"
Title Subtitle

> Write-host "Title `nSubtitle"
Title 
Subtitle

> Write-host "Title `tSubtitle"
Title   Subtitle

Powershell mendukung tiga jenis tanda kurung.

  • Parenthesis brackets. − ()

  • Braces brackets. − {}

  • Square brackets. − []

Tanda kurung kurung

Jenis braket digunakan untuk

  • menyampaikan argumen

  • menyertakan beberapa set instruksi

  • menyelesaikan ambiguitas

  • buat larik

Contoh

> $array = @("item1", "item2", "item3")
 
> foreach ($element in $array) { $element }
item1
item2
item3

Tanda kurung kurawal

Jenis braket digunakan untuk

  • melampirkan pernyataan

  • blokir perintah

Contoh

$x = 10

if($x -le 20){
   write-host("This is if statement")
}

Ini akan menghasilkan hasil sebagai berikut -

Keluaran

This is if statement.

Tanda kurung siku

Jenis braket digunakan untuk

  • akses ke array

  • akses ke hashtables

  • filter menggunakan ekspresi reguler

Contoh

> $array = @("item1", "item2", "item3")
 
> for($i = 0; $i -lt $array.length; $i++){ $array[$i] }
item1
item2
item3
 
>Get-Process [r-s]*
 Handles    NPM(K)     PM(K)    WS(K)   VM(M)   CPU(s)     Id    ProcessName
-------    ------     -----     -----   -----   ------     --    -----------  
    320        72     27300     33764    227     3.95    4028    SCNotification 
   2298        77     57792     48712    308             2884    SearchIndexer
   ...

Alias ​​PowerShell adalah nama lain untuk cmdlet atau untuk elemen perintah apa pun.

Membuat Alias

Menggunakan New-Aliascmdlet untuk membuat alias. Pada contoh di bawah ini, kami telah membuat bantuan alias untuk Get-Help cmdlet.

New-Alias -Name help -Value Get-Help

Sekarang panggil alias.

help Get-WmiObject -Detailed

Anda akan melihat output berikut.

NAME
   Get-WmiObject
    
SYNOPSIS
   Gets instances of Windows Management Instrumentation (WMI) classes or information about the available classes.    
    
SYNTAX
   Get-WmiObject [
...

Mendapatkan Alias

Menggunakan get-alias cmdlet untuk mendapatkan semua alias yang ada di sesi PowerShell saat ini.

Get-Alias

Anda akan melihat output berikut.

CommandType     Name                     Definition
-----------     ----                     ----------  
Alias           %                        ForEach-Object
Alias           ?                        Where-Object
Alias           ac                       Add-Content
Alias           asnp                     Add-PSSnapIn 
...
Mencetak