Menggunakan Penyata dalam PowerShell

Menggunakan Penyata Dalam Powershell



PowerShell ialah shell baris perintah dan bahasa skrip yang teguh yang kebanyakannya digunakan untuk mengawal sistem komputer dan mengautomasikan kerja-kerja pentadbiran. Penggunaan pernyataan adalah salah satu asas PowerShell yang paling penting. Khususnya, ' menggunakan ” kenyataan memainkan peranan penting dalam mengurus sumber dan memastikan pelaksanaan kod yang cekap.

Artikel ini akan meneroka pelbagai aspek pernyataan 'menggunakan' dalam PowerShell, termasuk sintaks, tujuan dan aplikasi praktikalnya.







Tujuan 'menggunakan' Pernyataan

Pernyataan 'menggunakan' membolehkan anda menentukan ruang nama yang digunakan dalam sesi. Dengan menambah ruang nama, anda boleh mengimport kelas daripada modul skrip dan pemasangan serta memudahkan penggunaan kelas dan ahli .NET.



WAJIB 'menggunakan' Pernyataan

  • Pernyataan 'menggunakan' mesti muncul sebelum penyataan skrip atau modul lain. Ia tidak boleh didahului oleh sebarang kenyataan yang tidak diulas, termasuk parameter.
  • Sebarang pembolehubah tidak boleh terdapat dalam pernyataan 'menggunakan'.
  • Pernyataan 'menggunakan' tidak boleh dikelirukan dengan pengubah suai skop 'menggunakan:' untuk pembolehubah. Kedua-duanya berbeza dalam tujuan dan maknanya.

Sintaks Pernyataan 'menggunakan'.



Sintaks untuk pernyataan 'menggunakan' ialah:





menggunakan ruang nama < .NET-ruang nama >

Mari kita tinjau contoh berikut:



menggunakan Sistem ruang nama.IO

$Bytes = [ Fail ] ::ReadAllBytes ( 'D:\c sharp\Linuxhint1.txt' )
[ Maklumat Fail ] ::baru ( 'D:\c sharp\Linuxhint1.txt' )

Dalam kod di atas, kami mula-mula menetapkan ruang nama 'System.IO'. Baris kedua program, [Fail]::ReadAllBytes('D:c sharpLinuxhint1.txt'), membaca setiap bait daripada fail yang dibekalkan dan meletakkannya dalam pembolehubah $Bytes. Dalam baris ketiga, [FileInfo]::new('D:c sharpLinuxhint1.txt') mencipta tika baharu kelas FileInfo dan mengembalikan objek FileInfo.

Pernyataan 'menggunakan' untuk Modul

Kami juga boleh menggunakan pernyataan 'menggunakan' untuk memuatkan kelas modul.

Sintaks

menggunakan modul < nama modul >

Dalam sintaks ini, '', spesifikasi modul lengkap atau laluan ke fail modul boleh digunakan sebagai nilai untuk 'nama modul'.

Anda boleh menggunakan sama ada laluan yang layak sepenuhnya atau relatif apabila 'nama modul>' ialah laluan. Apabila pernyataan 'menggunakan' hadir dalam skrip, laluan relatif diselesaikan dalam skrip tersebut.

PowerShell mencari modul yang dibekalkan dalam PSModulePath apabila '' ialah nama atau spesifikasi modul. Kekunci berikut membentuk jadual hash yang merupakan spesifikasi modul:

Nama Modul – Diperlukan. Namakan modul yang dimaksudkan.

GUID pilihan – menentukan GUID modul.

Selain itu, anda mesti menentukan salah satu daripada tiga kunci yang disenaraikan di bawah.

ModulVersion – Versi minimum modul yang dibenarkan ditentukan melalui sifat 'ModuleVersion'.

MaximumVersion – Mentakrifkan versi tertinggi modul yang dibenarkan.

RequiredVersion – Menentukan versi modul yang tepat dan perlu menggunakan “RequiredVersion”. Kekunci Versi lain tidak boleh digunakan dengan ini.

Modul akar (ModuleToProcess) modul binari atau modul skrip diimport oleh pengisytiharan modul 'menggunakan'. Kelas yang dinyatakan dalam modul bersarang atau skrip yang bersumberkan titik ke dalam modul tidak diimport dengan pasti. Sebarang kelas yang anda ingin sediakan kepada pengguna di luar modul hendaklah dinyatakan dalam modul akar.

Berikut adalah contoh:

menggunakan modul PSReadline

Penyata 'menggunakan' untuk Perhimpunan

Pernyataan 'menggunakan' juga boleh digunakan untuk pramuat jenis daripada pemasangan .NET.

Sintaks

menggunakan perhimpunan < .NET-assembly-path >

Dalam sintaks ini, apabila himpunan dimuatkan, jenis .NET daripada himpunan itu dipramuat ke dalam skrip sebelum ia dihuraikan. Akibatnya, adalah mungkin untuk membangunkan kelas PowerShell baharu yang menggunakan jenis pemasangan yang dipramuat.

Lihat contoh penggunaan pernyataan 'menggunakan' dengan 'himpunan':

menggunakan Sistem pemasangan.Windows.Forms

Dalam arahan ini, kami telah memuatkan perhimpunan ' System.Windows.Forms” dalam PowerShell menggunakan pernyataan 'menggunakan'.

pernyataan 'menggunakan' untuk Hashtable Keys

Jadual Hash ” ialah struktur data yang boleh disesuaikan yang digunakan dalam PowerShell untuk pelbagai tujuan, termasuk menyimpan data konfigurasi, menyediakan hujah kepada cmdlet dan menyimpan data dalam skrip.

Hash kriptografi untuk rentetan “ LinuxHint! ” diperolehi melalui skrip berikut:

menggunakan ruang nama Sistem.Teks
menggunakan Sistem ruang nama.IO [ tali ] $rentetan = 'LinuxHint!'
[ tali ] $algoritma = 'SHA1'

[ bait [ ] ] $stringbait = [ Pengekodan Unikod ] ::Unicode.GetBytes ( $rentetan )

[ Strim ] $memorystream = [ MemoryStream ] ::baru ( $stringbait )
$hashfromstream = Get-FileHash -InputStream $memorystream `
-Algoritma $algoritma
$hashfromstream .Hash.ToString ( )

Kod PowerShell di atas bermula dengan mengimport ruang nama yang diperlukan untuk operasi fail dan pengekodan. Rentetan input dan algoritma pencincangan (dalam kes ini ' SHA1 ”), kemudiannya ditakrifkan. Rentetan input kemudiannya dikodkan menggunakan “ Unicode ” untuk mencipta tatasusunan bait.

Kandungan tatasusunan bait kemudiannya digunakan untuk membina ' aliran ingatan ”. Nilai cincang daripada aliran memori dikira menggunakan algoritma 'SHA1' yang disediakan oleh ' Get-FileHash ” cmdlet. Skrip berakhir dengan mencetak nilai hash yang diperoleh sebagai rentetan kepada output.

Pengeluaran

Kesimpulan

' menggunakan ” pernyataan dalam PowerShell ialah alat yang berkuasa untuk menentukan ruang nama, modul atau perhimpunan. Sintaks dan tujuannya menyediakan pendekatan yang standard dan selamat untuk mengendalikan sumber, memudahkan pelupusan yang betul dan mengurangkan pertindihan kod.