Sådan installeres PowerShell-moduler: En trin for trin-vejledning
PowerSheller en opgaveautomatiseringsløsning på tværs af platforme fra Microsoft, bestående af en kommandolinjeskal, et scriptsprog og en konfigurationsstyringsramme
ENPowerShell modulindeholder et sæt relaterede Windows PowerShell-medlemmer såsom cmdlets, udbydere, funktioner, arbejdsgange, variabler og aliaser. Medlemmerne af en pakke (som normalt er grupperet i en enkelt mappe) kan implementeres i et PowerShell-script, en kompileret DLL eller begge dele. Det primære formål med et modul er at tillade modularisering af Windows PowerShell-kode.
Ved at definere et sæt relaterede scriptfiler, samlinger og relaterede ressourcer som et modul, kan du henvise til, indlæse, fortsætte og dele din kode meget nemmere, end du ellers ville. For eksempel kan folk, der skriver kommandoer, bruge moduler til at organisere deres kommandoer og dele dem med andre, mens dem, der modtager moduler, kan tilføje kommandoerne i modulerne til deres PowerShell-sessioner og bruge dem ligesom de indbyggede kommandoer.
PowerShell, der leveres med Windows, kommer med et par hundrede cmdlets, der kan hjælpe dig med at udføre grundlæggende opgaver som at læse filer, oprette registreringsdatabasenøgler, pinge computere, oprette forbindelse til fjernsystemer og så videre. Imidlertid kan denne out-of-the-box PowerShell cmdlet ikke understøtte alt, hvad du ønsker at gøre med sproget. For at udføre opgaver uden for de indbyggede PowerShell-kommandoer skal du installere moduler, der indeholder kommandoer, der giver dig den funktionalitet. I denne artikel vil vi give en trin-for-trin guide til, hvordan du installerer PowerShell-moduler.
PowerShell-modulkomponenter og -typer
Et modul består af fire væsentlige komponenter, som inkluderer et PowerShell-script eller en administreret cmdlet-samling, yderligere samlinger eller scripts, en manifestfil og en mappe, der indeholder alt dette indhold. De følgende afsnit beskriver typer af moduler, du kan få ved at blande og matche de forskellige mulige dele af et modul sammen:
- Script moduler: Et script-modul er simpelthen et Windows PowerShell-script med en .psm1-udvidelse, som giver administratorer mulighed for at bruge import-, eksport- og administrationsfunktioner på det. Et scriptmodul indeholder gyldig Windows PowerShell-kode. Det kan gemmes eller installeres på PowerShell-modulstien eller enhver sti, som du udtrykkeligt beskriver, så PowerShell med rimelighed kan opdage det.
- Binære moduler: Et binært modul er en .NET Framework-samling (.dll), der indeholder kompileret kode. Sammenlignet med et script-modul giver et binært modul dig mulighed for at oprette cmdlets hurtigere eller bruge funktioner såsom multithreading, der ikke er så nemme at kode i Windows PowerShell-scripts. Derudover kan et binært modul gemmes eller installeres i en mappe langs PowerShell-modulstien.
- Manifest moduler: Et manifestmodul er et modul, der bruger en manifestfil til at beskrive alle dets binære komponentmoduler, men som ikke har nogen form for kernesamling eller script.
- Dynamiske moduler: Et dynamisk modul er et modul, der ikke er indlæst fra eller gemt i en fil. I stedet oprettes de dynamisk af et script ved hjælp afNy-modul cmdlet. Dette modul gør det muligt for et script at oprette et modul efter behov, som ikke behøver at blive indlæst eller gemt til vedvarende lager. Dynamiske moduler kræver ikke permanente mapper for at gemme deres relaterede samlinger.
Sådan installeres et PowerShell-modul
Når du har oprettet et script-, binær- eller manifestmodul, kan du gemme dit arbejde på et sted, såsom en systemmappe, hvor Windows PowerShell er installeret, eller en brugermappe, så andre kan have adgang til det. Før du kan bruge et modul, skal du først installere modulet. For det andet skal du finde PowerShell-kommandoer som modulet tilføjede ved hjælp af cmdlet'enHent-kommando, og til sidst skal du bruge de kommandoer, som modulet tilføjede.
Der er to hovedmetoder til at installere PowerShell-modulet: PowerShell-gallerimetoden og manuel metode (hvis modulerne ikke er tilgængelige i PowerShell-galleriet). Det følgende afsnit beskriver hver af disse metoder i detaljer.
Metode 1—Installer modul fra PowerShell Gallery
Det PowerShell Galleri er et online pakkelager til PowerShell, der indeholder scripts, moduler og DSC-ressourcer, du kan downloade og udnytte. Microsoft og PowerShell-fællesskabet har skrevet disse. Du kan finde pakker i PowerShell Gallery ved at:
- Brug af søgekontrollen på PowerShell Gallerys hjemmeside
- Gennemse modulerne og scripts fra siden Pakker
- Kørsel af cmdlet'erne Find-Module, Find-DscResource og Find-Script, afhængigt af pakketypen
Når du har identificeret en pakke, som du er interesseret i, kan du lære mere om den ved at undersøge de metadata, der er uploadet med pakken på pakkens specifikke side i Galleriet. Du vil måske også downloade pakken fra Galleriet for yderligere inspektion. For at gøre det skal du køre entenGem-modulellerGem-scriptcmdlet, afhængigt af pakketypen. Dette giver dig mulighed for at gemme pakken lokalt til inspektion af indholdet uden at installere den.
Installation af PowerShell-moduler fra PowerShell-galleriet er den nemmeste måde at installere moduler på. For at installere en pakke eller et modul fra Galleriet bruger vi kommandoen:Installations-modulellerInstall-Script cmdlet, afhængigt af pakketypen.
- DetInstallations-modulkommando installerer modulet til$env: ProgramFilesWindowsPowerShellModulessom standard. Dette kræver en administratorkonto. Hvis du tilføjer-Scope CurrentUserparameter, modulet er installeret til$env: USERPROFILEDocumentsWindowsPowerShellModules.
- Kommandoen Install-Script installerer scriptet til$env: ProgramFilesWindowsPowerShellScriptssom standard. Dette kræver også en administratorkonto. Hvis du tilføjer-Scope CurrentUserparameter, er scriptet installeret til$env: USERPROFILEDocumentsWindowsPowerShellScripts.
- DetInstallations-modulogInstallations-scriptkommando installerer som standard den nyeste version af en pakke. Hvis du har brug for en ældre version af pakken, skal du tilføje parameteren- Påkrævet version.
Ydermere, før du installerer et modul, skal du kende modulets navn og kommandoen til at installere det. Galleri-siden vil fortælle dig, hvad kommandoen er for at installere modulet. I dette eksempel vil vi installere et modul, som vi fandt på gallerietNetværkDsc. For at gøre det skal du køre følgende kommando:
Installer-modul -Navn NetworkingDsc -RequiredVersion 8.2.0
Afhængigt af den NuGet-udbyder du kører, kan du modtage meddelelsen om, at NuGet-udbyderen skal fortsætte.PowerShellGeter afhængig af udbyderen ved navn Nuget, og du kan blive bedt om at installere den nyeste version, før du fortsætter. Skriv Y, og tryk på Enter-tasten, hvis du ser 'Vil duPowerShellGetfor at installere og importere NuGet-udbyderen nu?”. Igen, afhængigt af dine indstillinger, kan du modtage en anden meddelelse, 'Er du sikker på, at du vil installere modulerne fra 'PSGallery'?'. Skriv Y, og tryk på Enter-tasten for at fortsætte. Dette vil begynde at installereNetværkDscmodul, som du kan se visuelt ved indlæsningsteksten øverst i PowerShell-vinduet. Når installationen er fuldført, kan du bekræfte den ved at køre kommandoen:Get-Module -ListAvailable.


Hvis du vil implementere den installerede pakke fra PowerShell Gallery til Azure Automation, skal du klikke på Azure Automation og derefter klikke på Deploy to Azure Automation på siden med pakkedetaljer. Når du klikker på den, omdirigerer den dig til Azure Management Portal, hvor du logger ind med dine Azure-kontolegitimationsoplysninger. Hvis pakken indeholder afhængigheder, vil alle afhængigheder også blive implementeret til Azure Automation.
Metode 2—Installer PowerShell-moduler manuelt
Hvis modulet ikke er tilgængeligt i PowerShell Gallery, skal du bruge den manuelle metode til at installere det. For at installere PowerShell-moduler manuelt skal du først bestemme din nuværende PowerShell-modul-mappesti, downloade dit nye modul til den sti og påkalde import-modul-kommandoen for at lade Windows vide, at det er der. Følg derefter nedenstående trin for at installere PowerShell-moduler manuelt:
1. Bestem installationsstien: Du skal bestemme installationsstien til dine PowerShell-moduler, så du ved, hvor du skal placere nye. Dette hjælper med at sikre, at det nye modul er installeret i en sti, der er angivet iPSModulePathmiljøvariabel. Du kan bestemme, hvor dit modul skal installeres ved hjælp af en af stierne, der er gemt i$ENV: PSModulePathvariabel. For at gøre dette skal du åbne et PowerShell-vindue og køre kommandoen:$Env: PSModulePath.
Outputtet viser følgende sti som vist i figur 3.0 nedenfor:
- C:UsersAdministratorDocumentsWindowsPowerShellModules
- C:Program FilesWindowsPowerShellModules
- C:WINDOWSsystem32WindowsPowerShellv1.0Modules

Brug den første sti, hvis du ønsker, at modulet skal være tilgængeligt for en bestemt brugerkonto på computeren. Brug den anden sti, hvis du vil gøre modulet tilgængeligt for alle brugere på computeren. Den tredje sti er den sti, Windows bruger til indbyggede moduler, der allerede er installeret med Windows OS. Microsoft anbefaler, at du undgår at bruge denne placering. Så du står tilbage med den første eller anden vej.
Brug af en af disse stier betyder, at PowerShell automatisk kan finde og indlæse dit modul, når en bruger kalder det i deres kode. Du kan dog også ønske at tilføje dine stier, men holde dig til de to første stier, medmindre det er nødvendigt. Hvis du gemmer dit modul et andet sted, kan du udtrykkeligt lade PowerShell vide det ved at angive placeringen af dit modul som en parameter, når du ringerInstallations-modul.Hvis du ser andre stier anført i din miljøvariabel, kan det være fra dine installerede programmer. Nogle programmer installerer PowerShell-kommandoer og tilføjer dem automatisk til variablen. Nu hvor vi ved, hvor vi skal placere nye moduler, lad os fortsætte til næste trin.
2. Kopier det nye modul til stien: Download nu PowerShell-modulet fra dit foretrukne websted og kopier det til en af de to stier, der er identificeret i trin 1 ovenfor. I dette eksempel vil vi gøre det tilgængeligt for alle brugere på computeren at kopiere det til mappen C:Program FilesWindowsPowerShellModules. Når du er færdig, kan du kontrollere, om det nye modul er angivet som tilgængeligt for PowerShell ved at køre kommandoen:Get-Module -ListAvailable.
3. Importer nyt modul: Med det nye modul på plads skal vi bare bede Windows om at indlæse det for at bruge det i vores nuværende PowerShell-session. Til dette skal du bruge følgende kommandosyntaks:Import-modul -navn Modulnavn
Lad os for eksempel sige, at du vil importere kommandoenNTFSSikkerhed(PowerShell-modul til styring af fil- og mappesikkerhed på NTFS-volumener), skal du køre kommandoen:Import-modul NTFSSikkerhed. Hvis du modtager en meddelelse for at bekræfte, om du har tillid til scriptet eller modulet og vil køre det, skal du skrive R for at køre én gang (forudsat at du er sikker på, at du vil køre det). Og det gør det, og det nye modul er nu klar til brug.
Selvom Microsoft tillader dig at installere PowerShell-moduler fra tredjepartswebsteder, er der også sikkerhedsmæssige konsekvenser. Ondsindede aktører kan drage fordel af dette smuthul til at udvikle og levere scripts, der indeholder ondsindede koder. Sørg derfor for, at du kun indlæser pålidelige moduler eller dem fra en pålidelig kilde.
Ofte stillede spørgsmål om PowerShell-installation
Hvordan får jeg PowerShell-moduler?
PowerShell-systemet er allerede tilgængeligt i Windows-operativsystemet, og du har sikkert allerede mange moduler til rådighed. Ved PowerShell-prompten skal du skrive Get-Module -ListAvailable for at se, hvilke moduler der er aktive. For at installere et modul skal du brugeGet-InstalledModulecmdlet.
Hvor er PowerShell-moduler installeret?
I Windows er der en miljøvariabel, der holder lagerplaceringen for PowerShell-moduler i diskens mappestruktur. For alle brugere er dette$env:PROGRAMFILERPowerShellModules. På Linux og macOS er moduler gemt i /usr/local/share/powershell/Modules.
Hvordan installerer jeg Windows Update PowerShell-modulet?
Du skal åbne PowerShell-prompten som administrator for at installere PSWindowsUpdate-modulet.
- Gå indSet-ExecutionPolicy -ExecutionPolicy RemoteSignedfor at aktivere fjernudførelse af script.
- Gå indInstaller-modul -Navn PSWindowUpdate -Forcefor at downloade og installere PSWindowUpdate-modulet.
- Gå indImport-modul - Navn PSWindowUpdatefor at bringe PSWindowsUpdate ind i den aktuelle PowerShell-session.
- Gå indGet-Command -Module PSWindowsUpdatefor at kontrollere, at installationen fungerede, og for at se, hvilke kommandoer der er tilgængelige i modulet.