Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Modul adalah sekumpulan fungsiOnalitas Windows PowerShell terkait, dikelompokkan bersama sebagai unit yang nyaman (biasanya disimpan dalam satu direktori). Dengan mendefinisikan sekumpulan file skrip, rakitan, dan sumber daya terkait terkait sebagai modul, Anda dapat mereferensikan, memuat, mempertahankan, dan berbagi kode Anda jauh lebih mudah daripada yang Anda lakukan.
Tujuan utama modul adalah untuk memungkinkan modularisasi (yaitu, penggunaan kembali dan abstraksi) kode Windows PowerShell. Misalnya, cara paling mendasar untuk membuat modul adalah dengan hanya menyimpan skrip Windows PowerShell sebagai file .psm1
. Melakukannya memungkinkan Anda mengontrol (yaitu, membuat publik atau privat) fungsi dan variabel yang terkandung dalam skrip. Menyimpan skrip sebagai file .psm1
juga memungkinkan Anda mengontrol cakupan variabel tertentu. Terakhir, Anda juga dapat menggunakan cmdlet seperti Install-Module untuk mengatur, menginstal, dan menggunakan skrip Anda sebagai blok penyusun untuk solusi yang lebih besar.
Komponen dan Jenis Modul
Modul terdiri dari empat komponen dasar:
Beberapa jenis file kode - biasanya skrip PowerShell atau rakitan cmdlet terkelola.
Apa pun yang mungkin diperlukan file kode di atas, seperti rakitan tambahan, file bantuan, atau skrip.
File manifes yang menjelaskan file di atas, serta menyimpan metadata seperti informasi penulis dan penerapan versi.
Direktori yang berisi semua konten di atas, dan terletak di mana PowerShell dapat menemukannya secara wajar.
Nota
Tidak satu pun dari komponen-komponen ini, sendiri, sebenarnya diperlukan. Misalnya, modul secara teknis hanya dapat berupa skrip yang disimpan dalam file
.psm1
. Anda juga dapat memiliki modul yang tidak lain adalah file manifes, yang digunakan terutama untuk tujuan organisasi. Anda juga dapat menulis skrip yang secara dinamis membuat modul, dan karenanya tidak benar-benar memerlukan direktori untuk menyimpan apa pun. Bagian berikut menjelaskan jenis modul yang bisa Anda dapatkan dengan mencampur dan mencocokkan berbagai kemungkinan bagian modul bersama-sama.
Modul Skrip
Seperti namanya, modul skrip adalah file (.psm1
) yang berisi kode Windows PowerShell yang valid. Pengembang dan administrator skrip dapat menggunakan jenis modul ini untuk membuat modul yang anggotanya mencakup fungsi, variabel, dan banyak lagi. Intinya, modul skrip hanyalah skrip Windows PowerShell dengan ekstensi yang berbeda, yang memungkinkan administrator untuk menggunakan fungsi impor, ekspor, dan manajemen di atasnya.
Selain itu, Anda dapat menggunakan file manifes untuk menyertakan sumber daya lain dalam modul Anda, seperti file data, modul dependen lainnya, atau skrip runtime. File manifes juga berguna untuk melacak metadata seperti informasi penulisan dan penerapan versi.
Terakhir, modul skrip, seperti modul lain yang tidak dibuat secara dinamis, perlu disimpan dalam folder yang dapat ditemukan secara wajar oleh PowerShell. Biasanya, ini ada di jalur modul PowerShell; tetapi jika perlu, Anda dapat secara eksplisit menjelaskan di mana modul Anda diinstal. Untuk informasi selengkapnya, lihat Cara Menulis Modul Skrip PowerShell.
Modul Biner
Modul biner adalah rakitan .NET Framework (.dll
) yang berisi kode yang dikompilasi, seperti C#.
Pengembang cmdlet dapat menggunakan jenis modul ini untuk berbagi cmdlet, penyedia, dan banyak lagi. (Snap-in yang ada juga dapat digunakan sebagai modul biner.) Dibandingkan dengan modul skrip, modul biner memungkinkan Anda membuat cmdlet yang lebih cepat atau menggunakan fitur (seperti multithreading) yang tidak mudah dikodekan dalam skrip Windows PowerShell.
Seperti halnya modul skrip, Anda dapat menyertakan file manifes untuk menjelaskan sumber daya tambahan yang digunakan modul Anda, dan untuk melacak metadata tentang modul Anda. Demikian pula, Anda mungkin harus menginstal modul biner Anda di folder di suatu tempat di sepanjang jalur modul PowerShell. Untuk informasi selengkapnya, lihat Cara Cara Menulis Modul Biner PowerShell.
Modul Manifes
Modul manifes adalah modul yang menggunakan file manifes untuk menjelaskan semua komponennya, tetapi tidak memiliki semacam rakitan atau skrip inti. (Secara resmi, modul manifes meninggalkan elemen ModuleToProcess
atau RootModule
dari manifes kosong.) Namun, Anda masih dapat menggunakan fitur lain dari modul, seperti kemampuan untuk memuat rakitan dependen atau secara otomatis menjalankan skrip pra-pemrosesan tertentu. Anda juga dapat menggunakan modul manifes sebagai cara mudah untuk mengemas sumber daya yang akan digunakan modul lain, seperti modul berlapis, rakitan, jenis, atau format. Untuk informasi selengkapnya, lihat Cara Menulis Manifes Modul PowerShell.
Modul Dinamis
Modul dinamis adalah modul yang tidak dimuat dari, atau disimpan ke, file. Sebaliknya, mereka dibuat secara dinamis oleh skrip, menggunakan cmdlet New-Module. Jenis modul ini memungkinkan skrip untuk membuat modul sesuai permintaan yang tidak perlu dimuat atau disimpan ke penyimpanan persisten. Secara alami, modul dinamis dimaksudkan untuk berumur pendek, dan karenanya tidak dapat diakses oleh cmdlet Get-Module
. Demikian pula, mereka biasanya tidak memerlukan manifes modul, juga tidak mungkin memerlukan folder permanen untuk menyimpan rakitan terkait.
Manifes Modul
Manifes modul adalah file .psd1
yang berisi tabel hash. Kunci dan nilai dalam tabel hash melakukan hal-hal berikut:
Jelaskan konten dan atribut modul.
Tentukan prasyarat.
Tentukan bagaimana komponen diproses.
Manifes tidak diperlukan untuk modul. Modul dapat mereferensikan file skrip (
.ps1
), file modul skrip (.psm1
), file manifes (.psd1
), memformat dan mengetik file (.ps1xml
), cmdlet dan rakitan penyedia (.dll
), file sumber daya, File bantuan, file pelokalan, atau jenis file atau sumber daya lain yang dibundel sebagai bagian dari modul. Untuk skrip internasional, folder modul juga berisi sekumpulan file katalog pesan. Jika Anda menambahkan file manifes ke folder modul, Anda dapat mereferensikan beberapa file sebagai satu unit dengan merujuk manifes.Manifes itu sendiri menjelaskan kategori informasi berikut:
Metadata tentang modul, seperti nomor versi modul, penulis, dan deskripsi.
Prasyarat yang diperlukan untuk mengimpor modul, seperti versi Windows PowerShell, versi runtime bahasa umum (CLR), dan modul yang diperlukan.
Direktif pemrosesan, seperti skrip, format, dan jenis untuk diproses.
Pembatasan pada anggota modul untuk diekspor, seperti alias, fungsi, variabel, dan cmdlet untuk diekspor.
Untuk informasi selengkapnya, lihat Cara Menulis Manifes Modul PowerShell.
Menyimpan dan Menginstal Modul
Setelah membuat skrip, biner, atau modul manifes, Anda dapat menyimpan pekerjaan Anda di lokasi yang dapat diakses orang lain. Misalnya, modul Anda dapat disimpan di folder sistem tempat Windows PowerShell diinstal, atau dapat disimpan dalam folder pengguna.
Secara umum, Anda dapat menentukan di mana Anda harus menginstal modul dengan menggunakan salah satu jalur yang disimpan dalam variabel $Env:PSModulePath
. Menggunakan salah satu jalur ini berarti powerShell dapat secara otomatis menemukan dan memuat modul Anda saat pengguna melakukan panggilan ke jalur tersebut dalam kode mereka. Jika Anda menyimpan modul di tempat lain, Anda dapat secara eksplisit memberi tahu PowerShell dengan meneruskan lokasi modul Anda sebagai parameter saat memanggil Install-Module
.
Terlepas dari itu, jalur folder disebut sebagai dasar modul (ModuleBase), dan nama file modul skrip, biner, atau manifes harus sama dengan nama folder modul, dengan pengecualian berikut:
Modul dinamis yang dibuat oleh cmdlet
New-Module
dapat diberi nama menggunakan parameterName
cmdlet.Modul yang diimpor dari objek rakitan oleh perintah
Import-Module -Assembly
dinamai sesuai dengan sintaks berikut:"dynamic_code_module_" + assembly.GetName()
.Untuk informasi selengkapnya, lihat Menginstal modul PowerShell dan about_PSModulePath.
Cmdlet dan Variabel Modul
Cmdlet dan variabel berikut disediakan oleh Windows PowerShell untuk pembuatan dan pengelolaan modul.
cmdlet Modul Baru Cmdlet ini membuat modul dinamis baru yang hanya ada dalam memori. Modul dibuat dari blok skrip, dan anggotanya yang diekspor, seperti fungsi dan variabelnya, segera tersedia dalam sesi dan tetap tersedia sampai sesi ditutup.
cmdlet New-ModuleManifest Cmdlet ini membuat file manifes modul baru (.psd1
), mengisi nilainya, dan menyimpan file manifes ke jalur yang ditentukan. Cmdlet ini juga dapat digunakan untuk membuat templat manifes modul yang dapat diisi secara manual.
cmdlet Modul Impor Cmdlet ini menambahkan satu atau beberapa modul ke sesi saat ini.
cmdlet get-Module Cmdlet ini mengambil informasi tentang modul yang telah atau yang dapat diimpor ke sesi saat ini.
cmdlet Export-ModuleMember Cmdlet ini menentukan anggota modul (seperti cmdlet, fungsi, variabel, dan alias) yang diekspor dari file modul skrip (.psm1
) atau dari modul dinamis yang dibuat dengan menggunakan cmdlet New-Module
.
cmdlet Remove-Module Cmdlet ini menghapus modul dari sesi saat ini.
Test-ModuleManifest cmdlet ini memverifikasi bahwa manifes modul secara akurat menjelaskan komponen modul dengan memverifikasi bahwa file yang tercantum dalam file manifes modul (.psd1
) sebenarnya ada di jalur yang ditentukan.
$PSScriptRoot Variabel ini berisi direktori tempat modul skrip dijalankan. Ini memungkinkan skrip untuk menggunakan jalur modul untuk mengakses sumber daya lain.
$Env:PSModulePath Variabel lingkungan ini berisi daftar direktori tempat modul Windows PowerShell disimpan. Windows PowerShell menggunakan nilai variabel ini saat mengimpor modul secara otomatis dan memperbarui topik Bantuan untuk modul.