Bagikan melalui


Install-Module

Mengunduh satu atau beberapa modul dari repositori, dan menginstalnya di komputer lokal.

Sintaks

Install-Module
       [-Name] <String[]>
       [-MinimumVersion <String>]
       [-MaximumVersion <String>]
       [-RequiredVersion <String>]
       [-Repository <String[]>]
       [-Credential <PSCredential>]
       [-Scope <String>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-Force]
       [-AllowPrerelease]
       [-AcceptLicense]
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Install-Module
       [-InputObject] <PSObject[]>
       [-Credential <PSCredential>]
       [-Scope <String>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-Force]
       [-AcceptLicense]
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Deskripsi

Cmdlet Install-Module mendapatkan satu atau beberapa modul yang memenuhi kriteria tertentu dari repositori online. Cmdlet memverifikasi bahwa hasil pencarian adalah modul yang valid dan menyalin folder modul ke lokasi penginstalan. Modul yang diinstal tidak diimpor secara otomatis setelah penginstalan. Anda dapat memfilter modul mana yang diinstal berdasarkan versi minimum, maksimum, dan tepat dari modul yang ditentukan.

Ini adalah cmdlet proksi untuk cmdlet Get-InstalledPSResource di Microsoft.PowerShell.PSResourceGet. Untuk informasi selengkapnya, lihat Install-PSResource.

Contoh

Contoh 1: Menemukan dan menginstal modul

Contoh ini menemukan modul di repositori dan menginstal modul.

Find-Module -Name PowerShellGet | Install-Module

menggunakan parameter Nama untuk menentukan modul PowerShellGet. Secara default, versi terbaru modul diunduh dari repositori. Objek dikirimkan alur ke cmdlet Install-Module. Install-Module menginstal modul untuk semua pengguna di $env:ProgramFiles\PowerShell\Modules.

Contoh 2: Menginstal modul berdasarkan nama

Dalam contoh ini, versi terbaru modul PowerShellGet diinstal.

Install-Module -Name PowerShellGet

menggunakan parameter Nama untuk menentukan modul PowerShellGet. Secara default, versi terbaru modul diunduh dari repositori dan diinstal.

Contoh 3: Menginstal modul menggunakan versi minimumnya

Dalam contoh ini, versi minimum modul PowerShellGet diinstal. Parameter MinimumVersion menentukan versi terendah modul yang harus diinstal. Jika versi modul yang lebih baru tersedia, versi tersebut diunduh dan diinstal untuk semua pengguna.

Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

menggunakan parameter Nama untuk menentukan modul PowerShellGet. Parameter MinimumVersion menentukan bahwa versi 2.0.1 diunduh dari repositori dan diinstal. Karena versi 2.0.4 tersedia, versi tersebut diunduh dan diinstal untuk semua pengguna.

Contoh 4: Menginstal versi modul tertentu

Dalam contoh ini, versi tertentu dari modul PowerShellGet diinstal.

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

menggunakan parameter Nama untuk menentukan modul PowerShellGet. Parameter RequiredVersion menentukan bahwa versi 2.0.0 diunduh dan diinstal untuk semua pengguna.

Contoh 5: Instal modul hanya untuk pengguna saat ini

Contoh ini mengunduh dan menginstal versi terbaru modul, hanya untuk pengguna saat ini.

Install-Module -Name PowerShellGet -Scope CurrentUser

menggunakan parameter Nama untuk menentukan modul PowerShellGet. Install-Module mengunduh dan menginstal versi terbaru PowerShellGet ke direktori pengguna saat ini, $HOME\Documents\PowerShell\Modules.

Contoh 6: Menginstal versi prarilis terbaru modul

Contoh ini menunjukkan cara menginstal versi terbaru modul saat versi tersebut adalah versi prarilis. Menginstal versi prarilis memerlukan parameter AllowPrerelease.

Install-Module -Name Microsoft.PowerShell.Crescendo -AllowPrerelease

Menggunakan metode ini, Anda mendapatkan versi terbaru yang tersedia. Jika versi terbaru bukan prarilis, Anda mendapatkan versi stabil terbaru modul.

Contoh 7: Menginstal versi prarilis tertentu dari modul

Contoh ini menunjukkan cara menginstal versi prarilis tertentu dari modul. Cmdlet Find-Module dapat digunakan untuk menemukan versi modul prarilis di Galeri PowerShell.

Versi prarilis memiliki format <version_number>-<prerelease_label>.

Find-Module PSReadLine -AllVersions -AllowPrerelease | Select-Object -First 5

Version        Name             Repository       Description
-------        ----             ----------       -----------
2.2.6          PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.5          PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.4-beta1    PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.3          PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.2          PSReadLine       PSGallery        Great command line editing in the PowerS…

Install-Module -Name PSReadLine -RequiredVersion 2.2.4-beta1 -AllowPrerelease

Gunakan versi yang diperlihatkan di Galeri PowerShell untuk nilai parameter RequiredVersion.

Parameter

-AcceptLicense

Untuk modul yang memerlukan lisensi, AcceptLicense secara otomatis menerima perjanjian lisensi selama penginstalan. Untuk informasi selengkapnya, lihat Modul Yang Memerlukan Penerimaan Lisensi.

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-AllowClobber

Mengesampingkan pesan peringatan tentang konflik penginstalan tentang perintah yang ada di komputer. Menimpa perintah yang ada yang memiliki nama yang sama dengan perintah yang diinstal oleh modul. AllowClobber dan Force dapat digunakan bersama-sama dalam perintah Install-Module.

Cmdlet proksi mengubah nilai parameter ini menjadi parameter NoClobber cmdlet Install-PSResource.

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-AllowPrerelease

Memungkinkan Anda menginstal modul yang ditandai sebagai pra-rilis.

Cmdlet proksi memetakan parameter ini ke parameter prarilis .

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Confirm

Meminta konfirmasi sebelum menjalankan cmdlet Install-Module.

Jenis:SwitchParameter
Alias:cf
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Credential

Menentukan akun pengguna yang memiliki hak untuk menginstal modul untuk penyedia atau sumber paket tertentu.

Jenis:PSCredential
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-Force

Cmdlet proksi mengabaikan parameter ini karena tidak didukung oleh Install-PSResource.

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-InputObject

Digunakan untuk input alur. Kesalahan muncul jika nilai yang disediakan langsung ke InputObject. Gunakan alur untuk meneruskan objek dengan parameter InputObject.

Jenis:PSObject[]
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

-MaximumVersion

Cmdlet proksi menggunakan nilai parameter ini untuk membuat string pencarian versi NuGet untuk digunakan dengan parameter Versi .

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-MinimumVersion

Cmdlet proksi menggunakan nilai parameter ini untuk membuat string pencarian versi NuGet untuk digunakan dengan parameter Versi .

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-Name

Menentukan nama modul yang tepat untuk diinstal dari galeri online. Daftar nama modul yang dipisahkan koma diterima. Nama modul harus cocok dengan nama modul di repositori. Gunakan Find-Module untuk mendapatkan daftar nama modul.

Jenis:String[]
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

-PassThru

Saat menggunakan parameter PassThru , menghasilkan objek PSRepositoryItemInfo untuk modul. Ini adalah informasi yang sama dengan yang Anda dapatkan dari cmdlet Find-Module.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Proxy

Cmdlet proksi mengabaikan parameter ini karena tidak didukung oleh Install-PSResource.

Jenis:Uri
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-ProxyCredential

Cmdlet proksi mengabaikan parameter ini karena tidak didukung oleh Install-PSResource.

Jenis:PSCredential
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-Repository

Gunakan parameter Repositori untuk menentukan nama repositori tempat mengunduh dan menginstal modul. Digunakan saat beberapa repositori didaftarkan. Menentukan nama repositori terdaftar dalam perintah Install-Module. Untuk mendaftarkan repositori, gunakan Register-PSRepository. Untuk menampilkan repositori terdaftar, gunakan Get-PSRepository.

Jenis:String[]
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-RequiredVersion

Cmdlet proksi menggunakan nilai parameter ini untuk membuat string pencarian versi NuGet untuk digunakan dengan parameter Versi .

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-Scope

Menentukan cakupan penginstalan modul. Nilai yang dapat diterima untuk parameter ini adalah AllUsers dan CurrentUser.

Cakupan AllUsers menginstal modul di lokasi yang dapat diakses oleh semua pengguna komputer:

$env:ProgramFiles\PowerShell\Modules

CurrentUser menginstal modul di lokasi yang hanya dapat diakses oleh pengguna komputer saat ini. Misalnya:

$HOME\Documents\PowerShell\Modules

Ketika tidak ada Cakupan yang ditentukan, default diatur berdasarkan versi PowerShellGet.

  • Dalam versi PowerShellGet 1.x, defaultnya adalah AllUsers, yang memerlukan elevasi untuk penginstalan.
  • Untuk PowerShellGet versi 2.0.0 ke atas di PowerShell 6 atau yang lebih tinggi:
    • Defaultnya adalah CurrentUser, yang tidak memerlukan elevasi untuk penginstalan.
    • Jika Anda berjalan dalam sesi yang ditingkatkan, defaultnya adalah AllUsers.
Jenis:String
Nilai yang diterima:CurrentUser, AllUsers
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-SkipPublisherCheck

Cmdlet proksi mengubah parameter ini menjadi AuthenticodeCheck sebelum memanggil Install-PSResource.

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-WhatIf

Memperlihatkan apa yang akan terjadi jika perintah Install-Module dijalankan. Cmdlet tidak dijalankan.

Jenis:SwitchParameter
Alias:wi
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

Input

PSRepositoryItemInfo

Find-Module membuat objek PSRepositoryItemInfo yang dapat dikirimkan alur ke Install-Module.

String[]

PSObject[]

String

PSCredential

Uri

Output

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

Saat menggunakan parameter PassThru , menghasilkan objek PSRepositoryItemInfo untuk modul. Ini adalah informasi yang sama dengan yang Anda dapatkan dari cmdlet Find-Module.

Catatan

PowerShell menyertakan alias berikut untuk Install-Module:

  • Semua platform:
    • inmo

Install-Module berjalan pada rilis PowerShell 5.0 atau yang lebih baru, pada Windows 7 atau Windows 2008 R2 dan rilis Windows yang lebih baru.

Penting

Pada April 2020, Galeri PowerShell tidak lagi mendukung Transport Layer Security (TLS) versi 1.0 dan 1.1. Jika Anda tidak menggunakan TLS 1.2 atau yang lebih tinggi, Anda akan menerima kesalahan saat mencoba mengakses Galeri PowerShell. Gunakan perintah berikut untuk memastikan Anda menggunakan TLS 1.2:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Untuk informasi selengkapnya, lihat pengumuman di blog PowerShell.

Sebagai praktik terbaik keamanan, evaluasi kode modul sebelum menjalankan cmdlet atau fungsi apa pun untuk pertama kalinya. Untuk mencegah menjalankan modul yang berisi kode berbahaya, modul yang diinstal tidak diimpor secara otomatis setelah penginstalan.

Jika nama modul yang ditentukan oleh parameter Nama tidak ada di repositori, mengembalikan kesalahan.

Untuk menginstal beberapa modul, gunakan parameter Name dan tentukan array nama modul yang dipisahkan koma. Jika Anda menentukan beberapa nama modul, Anda tidak dapat menggunakan MinimumVersion, MaximumVersion, atau RequiredVersion. Find-Module membuat objek PSRepositoryItemInfo yang dapat dikirimkan alur ke Install-Module. Alur adalah cara lain untuk menentukan beberapa modul untuk diinstal dalam satu perintah.

Secara default, modul untuk cakupan AllUsers diinstal di . Default mencegah kebingungan saat Anda menginstal sumber daya PowerShell Desired State Configuration (DSC).

Penginstalan modul gagal dan tidak dapat diimpor jika tidak memiliki .psm1, .psd1, atau .dll dengan nama yang sama dalam folder. Gunakan parameter Force untuk menginstal modul.

Jika versi modul yang ada cocok dengan nama yang ditentukan oleh parameter Nama , dan parameter MinimumVersion atau RequiredVersion tidak digunakan, diam-diam berlanjut tetapi tidak menginstal modul.

Jika versi modul yang ada lebih besar dari nilai parameter MinimumVersion, atau sama dengan nilai parameter RequiredVersion, diam-diam berlanjut tetapi tidak menginstal modul.

Jika modul yang ada tidak cocok dengan nilai yang ditentukan oleh parameter MinimumVersion atau RequiredVersion, kesalahan terjadi dalam perintah . Misalnya, jika versi modul yang diinstal yang ada lebih rendah dari nilai MinimumVersion atau tidak sama dengan nilai RequiredVersion.

Install-Module juga menginstal modul dependen apa pun yang ditentukan sebagaimana diperlukan oleh penerbit modul. Penerbit mencantumkan modul yang diperlukan dan versinya dalam manifes modul.