Menggunakan Pernyataan di PowerShell

Menggunakan Pernyataan Di Powershell



PowerShell adalah shell baris perintah dan bahasa skrip yang kuat yang sebagian besar digunakan untuk mengontrol sistem komputer dan mengotomatiskan tugas administratif. Penggunaan pernyataan adalah salah satu fundamental PowerShell yang paling penting. Secara khusus, “ menggunakan ” pernyataan memainkan peran penting dalam mengelola sumber daya dan memastikan eksekusi kode yang efisien.

Artikel ini akan mengeksplorasi berbagai aspek pernyataan 'menggunakan' di PowerShell, termasuk sintaks, tujuan, dan aplikasi praktisnya.







Tujuan Pernyataan 'menggunakan'.

Pernyataan 'menggunakan' memungkinkan Anda menentukan ruang nama mana yang digunakan dalam sesi. Dengan menambahkan ruang nama, Anda dapat mengimpor kelas dari modul skrip dan rakitan serta menyederhanakan penggunaan kelas dan anggota .NET.



Pernyataan HARUS 'menggunakan'.

  • Pernyataan 'menggunakan' harus muncul sebelum pernyataan skrip atau modul lainnya. Itu tidak dapat didahului oleh pernyataan yang tidak dikomentari, termasuk parameter.
  • Variabel apa pun tidak boleh ada dalam pernyataan 'menggunakan'.
  • Pernyataan 'menggunakan' tidak boleh disamakan dengan pengubah lingkup 'menggunakan:' untuk variabel. Keduanya berbeda dalam tujuan dan maknanya.

Sintaks Pernyataan 'menggunakan'.



Sintaks untuk pernyataan 'menggunakan' adalah:





menggunakan ruang nama < .NET-ruang nama >

Mari kita tinjau contoh berikut:



menggunakan namespace System.IO

$Byte = [ Mengajukan ] ::BacaSemuaBytes ( 'D:\c tajam\Linuxhint1.txt' )
[ Info File ] ::baru ( 'D:\c tajam\Linuxhint1.txt' )

Pada kode di atas, pertama-tama kita menetapkan namespace 'System.IO'. Baris kedua program, [File]::ReadAllBytes('D:c sharpLinuxhint1.txt'), membaca setiap byte dari file yang disediakan dan menempatkannya dalam variabel $Bytes. Di baris ketiga, [FileInfo]::new('D:c sharpLinuxhint1.txt') membuat instance baru dari kelas FileInfo dan mengembalikan objek FileInfo.

Pernyataan 'menggunakan' untuk Modul

Kita juga dapat menggunakan pernyataan “using” untuk memuat kelas-kelas modul.

Sintaksis

menggunakan modul < module-name >

Dalam sintaks ini, “”, spesifikasi modul lengkap, atau jalur ke file modul dapat digunakan sebagai nilai untuk “nama modul”.

Anda dapat menggunakan jalur yang sepenuhnya memenuhi syarat atau jalur relatif saat 'nama-modul>' adalah jalur. Ketika pernyataan 'menggunakan' ada dalam skrip, jalur relatif diselesaikan dalam skrip itu.

PowerShell mencari modul yang disediakan di PSModulePath saat '' adalah nama atau spesifikasi modul. Kunci berikut membentuk hashtable yang merupakan spesifikasi modul:

NamaModul - Diperlukan. Beri nama modul yang dimaksud.

GUID opsional – menentukan GUID modul.

Selain itu, Anda harus menentukan salah satu dari tiga kunci yang tercantum di bawah ini.

Versi Modul – Versi modul minimum yang diizinkan ditentukan melalui properti “ModuleVersion”.

Versi Maksimum – Menentukan versi modul tertinggi yang diperbolehkan.

Versi yang Diperlukan – Menentukan versi modul yang tepat dan diperlukan menggunakan “RequiredVersion”. Kunci Versi lainnya tidak dapat digunakan dengan ini.

Modul root (ModuleToProcess) dari modul biner atau modul skrip diimpor oleh deklarasi modul “using”. Kelas yang ditentukan dalam modul atau skrip bersarang yang bersumber dari titik ke dalam modul tidak diimpor dengan andal. Kelas apa pun yang ingin Anda sediakan untuk pengguna di luar modul harus ditentukan dalam modul root.

Ini contohnya:

menggunakan modul PSReadline

Pernyataan 'menggunakan' untuk Majelis

Pernyataan 'menggunakan' juga dapat digunakan untuk memuat jenis dari rakitan .NET.

Sintaksis

menggunakan perakitan < .NET-assembly-path >

Dalam sintaks ini, saat rakitan dimuat, tipe .NET dari rakitan tersebut dimuat sebelumnya ke dalam skrip sebelum diuraikan. Akibatnya, dimungkinkan untuk mengembangkan kelas PowerShell baru yang menggunakan jenis rakitan yang dimuat sebelumnya.

Lihat contoh penerapan pernyataan 'menggunakan' dengan 'perakitan':

menggunakan perakitan System.Windows.Forms

Dalam perintah ini, kami telah memuat perakitan ' System.Windows.Forms” di PowerShell menggunakan pernyataan 'menggunakan'.

pernyataan 'menggunakan' untuk Kunci Hashtable

Tabel Hash ” adalah struktur data yang dapat diadaptasi yang digunakan di PowerShell untuk berbagai tujuan, termasuk menyimpan data konfigurasi, memberikan argumen ke cmdlet, dan menyimpan data dalam skrip.

Hash kriptografi untuk string “ Petunjuk Linux! ” diperoleh melalui skrip berikut:

menggunakan namespace System.Text
menggunakan namespace System.IO [ rangkaian ] $string = 'Petunjuk Linux!'
[ rangkaian ] $algoritma = 'SHA1'

[ byte [ ] ] $stringbytes = [ Pengkodean Unicode ] ::Unicode.GetBytes ( $string )

[ Sungai kecil ] $memorystream = [ MemoryStream ] ::baru ( $stringbytes )
$hashfromstream = Dapatkan-FileHash -InputStream $memorystream `
-Algoritma $algoritma
$hashfromstream .Hash.ToString ( )

Kode PowerShell di atas dimulai dengan mengimpor ruang nama yang diperlukan untuk operasi dan penyandian file. String masukan dan algoritme hashing (dalam hal ini “ SHA1 ”), kemudian didefinisikan. String input kemudian dikodekan menggunakan ' Unicode ” untuk membuat array byte.

Isi dari array byte kemudian digunakan untuk membuat “ memorystream ”. Nilai hash dari aliran memori dihitung menggunakan algoritme “SHA1” yang disediakan oleh “ Dapatkan-FileHash cmdlet. Skrip diakhiri dengan mencetak nilai hash yang diperoleh sebagai string ke output.

Keluaran

Kesimpulan

menggunakan ” pernyataan di PowerShell adalah alat yang ampuh untuk menentukan ruang nama, modul, atau rakitan. Sintaks dan tujuannya memberikan pendekatan standar dan aman untuk menangani sumber daya, memfasilitasi pembuangan yang tepat, dan mengurangi duplikasi kode.