Lite kort info om PowerShell moduler

Som ni säkert vet kan man koppla in moduler i Powershell som gör att man får fler Cmdlets. I Windows Server 2012  och 2012 R2 kommer Powershell själv att ladda moduler om de är installerade korrekt… Vad är då korrekt?

Det finns ett antal olika ställen där man kan installera Powershell moduler

Använd variabeln $env:PSModulePath för att ta reda på var Windows letar efter moduler att autoladda. På min maskin är standardsökvägarna förjande:

C:\Users\username\Documents\WindowsPowerShell\Modules
C:\Program Files\WindowsPowerShell\Modules
C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
c:\Program Files (x86)\Microsoft SQL Server\110\Tools\PowerShell\Modules\

Den första är min personliga sökväg… varje användare har en och där kan man lägga sina egna moduler. Den Andra är en standardsökväg där man kan lägga moduler för alla användare. Nummer tre är reserverad för Windows inbyggda moduler och den fjärde beror på att det finns en SQL server installerad på min maskin.

Nästa punkt på agendan är att lägga till en nu modul… Jag vill installera Michael Niehaus modul för att hantera MDT databasen. Så jag börjar med att ladda ner den och packa upp den. Hur gör man då för att installera den så att Powershell kan ladda den automatiskt? Jo, jag kopierar den till antingen sökväg 1 eller 2 ovan, men för att det skall funka behöver jag lägga den i en mapp som heter samma som modulen. I mitt fall heter modulfilen MDTDB.psm1, alltså skapar jag mappen C:\Program Files\WindowsPowerShell\Modules\MDTDB och lägger filen där.

Mvh

Johan

Leave a Reply