Ce face Install-Module
Install-Module face parte din modulul PowerShellGet, livrat inițial cu Windows PowerShell 5.0. Caută modulul într-un depozit înregistrat (de obicei PowerShell Gallery, cu numele PSGallery), îl descarcă împreună cu modulele de care depinde și îl copiază în folderul de module. Modulul nu este importat automat după instalare: îl folosești prin autoîncărcare sau cu Import-Module. Înainte de instalare îl poți căuta cu Find-Module; ulterior îl actualizezi cu Update-Module.
-Scope CurrentUser instalează în $HOME\Documents\PowerShell\Modules fără drepturi de administrator, iar -Scope AllUsers în $env:ProgramFiles\PowerShell\Modules, cu drepturi de administrator. Cu PowerShellGet 2.0+ în PowerShell 6 sau mai nou, implicit este CurrentUser (sau AllUsers într-o sesiune ridicată); PowerShellGet 1.x folosea implicit AllUsers. Versiunea 1.0.0.1 inclusă în Windows PowerShell 5.1 nu mai este suportată. Galeria este înregistrată implicit ca depozit nesigur, așa că primești o întrebare de confirmare; o poți marca drept sigură cu Set-PSRepository -Name PSGallery -InstallationPolicy Trusted.
Din PowerShell 7.4 este inclus și modulul Microsoft.PowerShell.PSResourceGet, recomandat de Microsoft ca înlocuitor pentru PowerShellGet. Cmdlet-ul lui, Install-PSResource, combină Install-Module și Install-Script, instalează implicit pentru utilizatorul curent, acceptă intervale de versiuni în stil NuGet (-Version '[7.0, 8.0)') și sare peste întrebarea despre depozit cu -TrustRepository. Pe Windows PowerShell 5.1 se poate instala separat, alături de PowerShellGet.
Parametri
| Parametru | Descriere |
|---|---|
-Name |
Numele exacte ale modulelor (fără wildcard-uri); mai multe nume se separă prin virgulă. |
-Scope |
CurrentUser sau AllUsers (cel din urmă cere drepturi de administrator). |
-RequiredVersion / -MinimumVersion / -MaximumVersion |
Versiunea exactă, minimă sau maximă a unui singur modul. |
-Repository |
Depozitul din care se instalează, când ai mai multe înregistrate (Get-PSRepository le listează). |
-Force |
Instalează și când modulul există deja: adaugă o versiune alături sau o suprascrie pe aceeași. |
-AllowClobber |
Permite instalarea unui modul care are comenzi cu același nume ca alt modul instalat. |
-AllowPrerelease |
Permite versiuni de test (de forma 2.2.4-beta1). |
-AcceptLicense |
Acceptă automat licența modulelor care o cer. |
Install-PSResource -Version |
Versiune exactă sau interval NuGet, de exemplu '[7.3.0, 8.3.0]'. |
Install-PSResource -TrustRepository |
Nu mai cere confirmare pentru depozitele nesigure. |
Install-PSResource -Reinstall |
Reinstalează ultima versiune peste cea existentă (repară o instalare stricată). |
Ce returnează
Nimic, implicit; cu -PassThru, Install-Module întoarce un PSRepositoryItemInfo, iar Install-PSResource un PSResourceInfo.
Exemple
Exemplul 1: Căutarea unui modul în PowerShell Gallery
Find-Module arată ultima versiune disponibilă, fără să instaleze nimic.
Find-Module -Name ImportExcel
Ieșire în terminal
Version Name Repository Description
------- ---- ---------- -----------
7.8.10 ImportExcel PSGallery PowerShell module to import/export Excel…
Exemplul 2: Instalare pentru utilizatorul curent
Pentru că PSGallery nu e marcat ca sigur, PowerShellGet cere confirmare; răspunsul Y continuă instalarea.
Install-Module -Name ImportExcel -Scope CurrentUser
Ieșire în terminal
Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from 'PSGallery'?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"): Y
Exemplul 3: Același modul cu Install-PSResource (PowerShell 7.4+)
-TrustRepository evită întrebarea; apoi verificăm unde a fost instalat modulul.
Install-PSResource -Name ImportExcel -Repository PSGallery -TrustRepository
Get-Module -ListAvailable -Name ImportExcel | Format-List -Property Name, Version, ModuleBase
Ieșire în terminal
Name : ImportExcel
Version : 7.8.10
ModuleBase : C:\Users\ana\Documents\PowerShell\Modules\ImportExcel\7.8.10
Greșeli frecvente
- Instalezi cu
-Scope AllUsersdintr-o sesiune fără drepturi de administrator: comanda eșuează; folosește-Scope CurrentUsersau deschide PowerShell ca administrator. - Te aștepți ca modulul să fie importat imediat: instalarea doar copiază fișierele; comenzile se încarcă la prima folosire sau cu
Import-Module. - Rulezi
Install-Moduledin nou ca să actualizezi: dacă versiunea există deja, comanda continuă fără să instaleze; foloseșteUpdate-Module(sauUpdate-PSResource). - Lucrezi în Windows PowerShell 5.1 cu PowerShellGet 1.0.0.1 și primești erori la conectarea la galerie: versiunea nu mai e suportată; actualizează PowerShellGet sau instalează PSResourceGet.
Comenzi înrudite
Import-Module: Încarcă un modul în sesiunea curentă; din PowerShell 3.0 modulele instalate se încarcă și singure la prima folosire a unei comenzi.winget: Managerul de pachete din Windows: caută, instalează, actualizează și listează aplicații din linia de comandă, inclusiv din PowerShell.Set-ExecutionPolicy: Stabilește pe Windows dacă PowerShell are voie să ruleze scripturi .ps1; Unblock-File deblochează un script descărcat de pe internet.$PROFILE: Variabila $PROFILE conține calea scriptului care rulează la fiecare pornire a PowerShell, unde îți pui aliasurile și funcțiile.