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, '
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 '
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.Teksmenggunakan 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.