Delen via


Get-Module

Vermeld de modules die in de huidige sessie zijn geïmporteerd of die kunnen worden geïmporteerd vanuit PSModulePath.

Syntax

Get-Module
   [[-Name] <String[]>]
   [-FullyQualifiedName <ModuleSpecification[]>]
   [-All]
   [<CommonParameters>]
Get-Module
   [[-Name] <String[]>]
   [-FullyQualifiedName <ModuleSpecification[]>]
   [-All]
   [-ListAvailable]
   [-PSEdition <String>]
   [-SkipEditionCheck]
   [-Refresh]
   [<CommonParameters>]
Get-Module
   [[-Name] <String[]>]
   [-FullyQualifiedName <ModuleSpecification[]>]
   [-ListAvailable]
   [-PSEdition <String>]
   [-SkipEditionCheck]
   [-Refresh]
   -PSSession <PSSession>
   [<CommonParameters>]
Get-Module
   [[-Name] <String[]>]
   [-FullyQualifiedName <ModuleSpecification[]>]
   [-ListAvailable]
   [-SkipEditionCheck]
   [-Refresh]
   -CimSession <CimSession>
   [-CimResourceUri <Uri>]
   [-CimNamespace <String>]
   [<CommonParameters>]

Description

De Get-Module cmdlet vermeldt de PowerShell-modules die zijn geïmporteerd of kunnen worden geïmporteerd in een PowerShell-sessie. Zonder parameters haalt Get-Module u modules op die zijn geïmporteerd in de huidige sessie. De parameter ListAvailable wordt gebruikt om de modules weer te geven die beschikbaar zijn om te worden geïmporteerd uit de paden die zijn opgegeven in de omgevingsvariabele PSModulePath ($env:PSModulePath).

Het moduleobject dat Get-Module retourneert, bevat waardevolle informatie over de module. U kunt de moduleobjecten ook doorsluizen naar andere cmdlets, zoals de Import-Module cmdlets en Remove-Module .

Get-Module bevat modules, maar importeert deze niet. Vanaf Windows PowerShell 3.0 worden modules automatisch geïmporteerd wanneer u een opdracht in de module gebruikt, maar een Get-Module opdracht activeert geen automatische import. U kunt de modules ook importeren in uw sessie met behulp van de Import-Module cmdlet.

Vanaf Windows PowerShell 3.0 kunt u modules van externe sessies ophalen en vervolgens importeren in de lokale sessie. Deze strategie maakt gebruik van de functie Impliciete externe communicatie van PowerShell en is gelijk aan het gebruik van de Import-PSSession cmdlet. Wanneer u opdrachten gebruikt in modules die zijn geïmporteerd uit een andere sessie, worden de opdrachten impliciet uitgevoerd in de externe sessie. Met deze functie kunt u de externe computer beheren vanaf de lokale sessie.

Vanaf Windows PowerShell 3.0 kunt u ook en Import-Module gebruiken Get-Module om CIM-modules (Common Information Model) op te halen en te importeren. CIM-modules definiëren cmdlets in CDXML-bestanden (Cmdlet Definition XML). Met deze functie kunt u cmdlets gebruiken die zijn geïmplementeerd in niet-beheerde codeassembly's, zoals die zijn geschreven in C++.

Impliciete externe communicatie kan worden gebruikt voor het beheren van externe computers waarop externe communicatie van PowerShell is ingeschakeld. Creatie een PSSession op de externe computer en gebruik vervolgens de PSSession-parameter van Get-Module om de PowerShell-modules in de externe sessie op te halen. Wanneer u een module uit de externe sessie importeert, worden de geïmporteerde opdrachten uitgevoerd in de sessie op de externe computer.

U kunt een vergelijkbare strategie gebruiken om computers te beheren waarop externe communicatie met PowerShell niet is ingeschakeld. Dit zijn computers waarop het Windows-besturingssysteem niet wordt uitgevoerd en computers waarop PowerShell is ingeschakeld, maar waarop externe communicatie van PowerShell niet is ingeschakeld.

Begin met het maken van een CIM-sessie op de externe computer. Een CIM-sessie is een verbinding met Windows Management Instrumentation (WMI) op de externe computer. Gebruik vervolgens de parameter CIMSession van Get-Module om CIM-modules op te halen uit de CIM-sessie. Wanneer u een CIM-module importeert met behulp van de Import-Module cmdlet en vervolgens de geïmporteerde opdrachten uitvoert, worden de opdrachten impliciet uitgevoerd op de externe computer. U kunt deze WMI- en CIM-strategie gebruiken om de externe computer te beheren.

Voorbeelden

Voorbeeld 1: modules ophalen die zijn geïmporteerd in de huidige sessie

Get-Module

Met deze opdracht worden modules ophaalt die zijn geïmporteerd in de huidige sessie.

Voorbeeld 2: geïnstalleerde modules en beschikbare modules ophalen

Get-Module -ListAvailable

Met deze opdracht worden de modules opgehaald die op de computer zijn geïnstalleerd en kunnen worden geïmporteerd in de huidige sessie.

Get-Module Zoekt naar beschikbare modules in het pad dat is opgegeven door de omgevingsvariabele $env:PSModulePath . Zie about_Modules en about_Environment_Variables voor meer informatie over PSModulePath.

Voorbeeld 3: alle geëxporteerde bestanden ophalen

Get-Module -ListAvailable -All

Met deze opdracht worden alle geëxporteerde bestanden voor alle beschikbare modules opgeslagen.

Voorbeeld 4: Een module ophalen op basis van de volledig gekwalificeerde naam

$FullyQualifiedName = @{ModuleName="Microsoft.PowerShell.Management";ModuleVersion="3.1.0.0"}
Get-Module -FullyQualifiedName $FullyQualifiedName | Format-Table -Property Name,Version

Name                             Version
----                             -------
Microsoft.PowerShell.Management  3.1.0.0

In dit voorbeeld wordt de module Microsoft.PowerShell.Management ophaalt door de volledig gekwalificeerde naam van de module op te geven met behulp van de parameter FullyQualifiedName . Met de opdracht worden de resultaten vervolgens in de Format-Table cmdlet ingevoerd om de resultaten op te maken als een tabel met Name en Version als de kolomkoppen.

In een volledig gekwalificeerde naam voor een module fungeert de waarde ModuleVersion als minimale versie. In dit voorbeeld komt het dus overeen met elke Microsoft.PowerShell.Management-module die versie 3.1.0.0 of hoger is.

Voorbeeld 5: Eigenschappen van een module ophalen

Get-Module | Get-Member -MemberType Property | Format-Table Name

Name
----
AccessMode
Author
ClrVersion
CompanyName
Copyright
Definition
Description
DotNetFrameworkVersion
ExportedAliases
ExportedCmdlets
ExportedCommands
ExportedFormatFiles
ExportedFunctions
ExportedTypeFiles
ExportedVariables
ExportedWorkflows
FileList
Guid
HelpInfoUri
LogPipelineExecutionDetails
ModuleBase
ModuleList
ModuleType
Name
NestedModules
OnRemove
Path
PowerShellHostName
PowerShellHostVersion
PowerShellVersion
PrivateData
ProcessorArchitecture
RequiredAssemblies
RequiredModules
RootModule
Scripts
SessionState
Version

Met deze opdracht worden de eigenschappen opgehaald van het object PSModuleInfo dat Get-Module wordt geretourneerd. Er is één object voor elk modulebestand.

U kunt de eigenschappen gebruiken om de moduleobjecten op te maken en te filteren. Zie PSModuleInfo Properties (Eigenschappen van PSModuleInfo) voor meer informatie over de eigenschappen.

De uitvoer bevat de nieuwe eigenschappen, zoals Author en CompanyName, die zijn geïntroduceerd in Windows PowerShell 3.0.

Voorbeeld 6: Alle modules groeperen op naam

Get-Module -ListAvailable -All | Format-Table -Property Name, Moduletype, Path -Groupby Name

Name: AppLocker

Name      ModuleType Path
----      ---------- ----
AppLocker   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\AppLocker\AppLocker.psd1


   Name: Appx

Name ModuleType Path
---- ---------- ----
Appx   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Appx\en-US\Appx.psd1
Appx   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Appx\Appx.psd1
Appx     Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Appx\Appx.psm1


   Name: BestPractices

Name          ModuleType Path
----          ---------- ----
BestPractices   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BestPractices\BestPractices.psd1


   Name: BitsTransfer

Name         ModuleType Path
----         ---------- ----
BitsTransfer   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitsTransfer\BitsTransfer.psd1

Met deze opdracht worden alle modulebestanden, zowel geïmporteerd als beschikbaar, opgeslagen en gegroepeerd op modulenaam. Hiermee kunt u de modulebestanden zien die elk script exporteert.

Voorbeeld 7: de inhoud van een modulemanifest weergeven

Met deze opdrachten wordt de inhoud van het modulemanifest voor de Windows PowerShell BitsTransfer-module weergegeven.

Modules hoeven geen manifestbestanden te hebben. Als ze een manifestbestand hebben, hoeft het manifestbestand alleen een versienummer te bevatten. Manifestbestanden bieden echter vaak nuttige informatie over een module, de vereisten en de inhoud ervan.

# First command
$m = Get-Module -list -Name BitsTransfer

# Second command
Get-Content $m.Path

@ {
    GUID               = "{8FA5064B-8479-4c5c-86EA-0D311FE48875}"
    Author             = "Microsoft Corporation"
    CompanyName        = "Microsoft Corporation"
    Copyright          = "Microsoft Corporation. All rights reserved."
    ModuleVersion      = "1.0.0.0"
    Description        = "Windows PowerShell File Transfer Module"
    PowerShellVersion  = "2.0"
    CLRVersion         = "2.0"
    NestedModules      = "Microsoft.BackgroundIntelligentTransfer.Management"
    FormatsToProcess   = "FileTransfer.Format.ps1xml"
    RequiredAssemblies = Join-Path $psScriptRoot "Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll"
}

Met de eerste opdracht wordt het object PSModuleInfo opgehaald dat de BitsTransfer-module vertegenwoordigt. Het object wordt opgeslagen in de $m variabele.

De tweede opdracht gebruikt de Get-Content cmdlet om de inhoud van het manifestbestand in het opgegeven pad op te halen. De puntnotatie wordt gebruikt om het pad naar het manifestbestand op te halen, dat is opgeslagen in de eigenschap Pad van het object. De uitvoer toont de inhoud van het modulemanifest.

Voorbeeld 8: Bestanden weergeven in modulemap

dir (Get-Module -ListAvailable FileTransfer).ModuleBase

Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer
Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        12/16/2008  12:36 PM            en-US
-a---        11/19/2008  11:30 PM      16184 FileTransfer.Format.ps1xml
-a---        11/20/2008  11:30 PM       1044 FileTransfer.psd1
-a---        12/16/2008  12:20 AM     108544 Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll

Met deze opdracht worden de bestanden in de map van de module weergegeven. Dit is een andere manier om te bepalen wat een module bevat voordat u deze importeert. Sommige modules bevatten mogelijk Help-bestanden of Leesmij-bestanden die de module beschrijven.

Voorbeeld 9: Modules ophalen die op een computer zijn geïnstalleerd

$s = New-PSSession -ComputerName Server01

Get-Module -PSSession $s -ListAvailable

Met deze opdrachten worden de modules opgehaald die zijn geïnstalleerd op de Server01-computer.

De eerste opdracht gebruikt de New-PSSession cmdlet om een PSSession te maken op de Server01-computer. Met de opdracht wordt de PSSession opgeslagen in de $s variabele.

De tweede opdracht gebruikt de parameters PSSession en ListAvailable van Get-Module om de modules in de PSSession in de $s variabele op te halen.

Als u modules van andere sessies doorsluizen naar de Import-Module cmdlet, Import-Module importeert u de module in de huidige sessie met behulp van de functie voor impliciete externe communicatie. Dit is gelijk aan het gebruik van de Import-PSSession cmdlet. U kunt de cmdlets uit de module in de huidige sessie gebruiken, maar met opdrachten die deze cmdlets gebruiken, wordt de externe sessie daadwerkelijk uitgevoerd. Zie voor meer informatie Import-Module en Import-PSSession.

Voorbeeld 10: Een computer beheren waarop het Windows-besturingssysteem niet wordt uitgevoerd

Met de opdrachten in dit voorbeeld kunt u de opslagsystemen beheren van een externe computer waarop het Windows-besturingssysteem niet wordt uitgevoerd. Omdat in dit voorbeeld de beheerder van de computer de WMI-provider moduledetectie heeft geïnstalleerd, kunnen de CIM-opdrachten de standaardwaarden gebruiken, die zijn ontworpen voor de provider.

$cs = New-CimSession -ComputerName RSDGF03
Get-Module -CimSession $cs -Name Storage | Import-Module
Get-Command Get-Disk

CommandType     Name                  ModuleName
-----------     ----                  ----------
Function        Get-Disk              Storage

Get-Disk

Number Friendly Name              OperationalStatus          Total Size Partition Style
------ -------------              -----------------          ---------- ---------------
0      Virtual HD ATA Device      Online                          40 GB MBR

De eerste opdracht gebruikt de New-CimSession cmdlet om een sessie te maken op de RSDGF03 externe computer. De sessie maakt verbinding met WMI op de externe computer. Met de opdracht wordt de CIM-sessie opgeslagen in de $cs variabele.

De tweede opdracht gebruikt de CIM-sessie in de $cs variabele om een Get-Module opdracht uit te voeren op de RSDGF03 computer. De opdracht gebruikt de parameter Name om de opslagmodule op te geven. De opdracht maakt gebruik van een pijplijnoperator (|) om de Storage-module te verzenden naar de Import-Module cmdlet, die deze in de lokale sessie importeert.

Met de derde opdracht wordt de Get-Command cmdlet uitgevoerd op de Get-Disk opdracht in de storage-module. Wanneer u een CIM-module in de lokale sessie importeert, converteert PowerShell de CDXML-bestanden die de CIM-module vertegenwoordigen naar PowerShell-scripts, die worden weergegeven als functies in de lokale sessie.

Met de vierde opdracht wordt de Get-Disk opdracht uitgevoerd. Hoewel de opdracht wordt getypt in de lokale sessie, wordt deze impliciet uitgevoerd op de externe computer van waaruit deze is geïmporteerd. De opdracht haalt objecten op van de externe computer en retourneert deze naar de lokale sessie.

Parameters

-All

Hiermee wordt aangegeven dat met deze cmdlet alle modules in elke modulemap worden opgehaald, inclusief geneste modules, manifestbestanden (.psd1), scriptmodulebestanden (.psm1) en binaire modulebestanden (.dll). Zonder deze parameter wordt Get-Module alleen de standaardmodule in elke modulemap opgevraagd.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimNamespace

Hiermee geeft u de naamruimte van een alternatieve CIM-provider die CIM-modules beschikbaar maakt. De standaardwaarde is de naamruimte van de WMI-provider moduledetectie.

Gebruik deze parameter om CIM-modules op te halen van computers en apparaten waarop het Windows-besturingssysteem niet wordt uitgevoerd.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimResourceUri

Hiermee geeft u een alternatieve locatie voor CIM-modules. De standaardwaarde is de resource-URI van de WMI-provider moduledetectie op de externe computer.

Gebruik deze parameter om CIM-modules op te halen van computers en apparaten waarop het Windows-besturingssysteem niet wordt uitgevoerd.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimSession

Hiermee geeft u een CIM-sessie op de externe computer. Voer een variabele in die de CIM-sessie bevat of een opdracht die de CIM-sessie ophaalt, zoals een Get-CimSession-opdracht .

Get-Module gebruikt de CIM-sessieverbinding om modules op te halen van de externe computer. Wanneer u de module importeert met behulp van de Import-Module cmdlet en de opdrachten uit de geïmporteerde module in de huidige sessie gebruikt, worden de opdrachten daadwerkelijk uitgevoerd op de externe computer.

U kunt deze parameter gebruiken om modules op te halen van computers en apparaten waarop het Windows-besturingssysteem niet wordt uitgevoerd, en computers waarop PowerShell is ingeschakeld, maar waarop externe communicatie met PowerShell niet is ingeschakeld.

De parameter CimSession haalt alle modules in de CIMSession op. U kunt echter alleen CIM- en CDXML-modules (Cmdlet Definition XML) importeren.

Type:CimSession
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-FullyQualifiedName

De waarde kan een modulenaam, een volledige modulespecificatie of een pad naar een modulebestand zijn.

Wanneer de waarde een pad is, kan het pad volledig gekwalificeerd of relatief zijn. Een relatief pad wordt omgezet ten opzichte van het script dat de using-instructie bevat.

Wanneer de waarde een naam of modulespecificatie is, zoekt PowerShell in PSModulePath naar de opgegeven module.

Een modulespecificatie is een hashtabel met de volgende sleutels.

  • ModuleName - Vereist Hiermee geeft u de naam van de module.
  • GUID - Optionele Hiermee geeft u de GUID van de module.
  • Het is ook Vereist om ten minste een van de drie onderstaande sleutels op te geven.
    • ModuleVersion - Hiermee geeft u een minimaal aanvaardbare versie van de module op.
    • MaximumVersion - Hiermee geeft u de maximaal aanvaardbare versie van de module op.
    • RequiredVersion - Hiermee geeft u een exacte, vereiste versie van de module op. Dit kan niet worden gebruikt met de andere versiesleutels.

U kunt de parameter FullyQualifiedName niet opgeven in dezelfde opdracht als een naamparameter .

Type:ModuleSpecification[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ListAvailable

Geeft aan dat met deze cmdlet alle geïnstalleerde modules worden opgehaald. Get-Module haalt modules op in paden die worden vermeld in de omgevingsvariabele PSModulePath . Zonder deze parameter haalt Get-Module u alleen de modules op die beide worden vermeld in de omgevingsvariabele PSModulePath en die in de huidige sessie zijn geladen. ListAvailable retourneert geen informatie over modules die niet zijn gevonden in de omgevingsvariabele PSModulePath , zelfs niet als deze modules in de huidige sessie zijn geladen.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Hiermee geeft u namen of naampatronen van modules die deze cmdlet ophaalt. Jokertekens zijn toegestaan. U kunt de namen ook doorsnijden naar Get-Module. U kunt de parameter FullyQualifiedName niet opgeven in dezelfde opdracht als een naamparameter .

Naam kan geen module-GUID als waarde accepteren. Als u modules wilt retourneren door een GUID op te geven, gebruikt u in plaats daarvan FullyQualifiedName .

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-PSEdition

Hiermee haalt u de modules op die ondersteuning bieden voor de opgegeven editie van PowerShell.

De aanvaardbare waarden voor deze parameter zijn:

  • Desktop
  • Core

De Get-Module cmdlet controleert de eigenschap CompatiblePSEditions van het object PSModuleInfo op de opgegeven waarde en retourneert alleen de modules waarvoor deze is ingesteld.

Notitie

  • Desktop-editie: deze editie is gebaseerd op .NET Framework en biedt compatibiliteit met scripts en modules die zijn gericht op versies van PowerShell die worden uitgevoerd op edities van Windows met een volledige footprint zoals Server Core en Windows Desktop.
  • Core-editie: deze editie is gebaseerd op .NET Framework en biedt compatibiliteit met scripts en modules die zijn gericht op versies van PowerShell die worden uitgevoerd op edities van Windows met een verminderde footprint zoals Nano Server en Windows IoT.
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PSSession

Haalt de modules op in de opgegeven door de gebruiker beheerde PowerShell-sessie (PSSession). Voer een variabele in die de sessie bevat, een opdracht die de sessie ophaalt, zoals een Get-PSSession opdracht, of een opdracht waarmee de sessie wordt gemaakt, zoals een New-PSSession opdracht.

Wanneer de sessie is verbonden met een externe computer, moet u de parameter ListAvailable opgeven.

Een Get-Module opdracht die gebruikmaakt van de parameter PSSession is gelijk aan het gebruik van de Invoke-Command cmdlet om een Get-Module -ListAvailable opdracht uit te voeren in een PSSession.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:PSSession
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Refresh

Geeft aan dat deze cmdlet de cache van geïnstalleerde opdrachten vernieuwt. De opdrachtcache wordt gemaakt wanneer de sessie wordt gestart. Hiermee kan de Get-Command cmdlet opdrachten ophalen uit modules die niet in de sessie zijn geïmporteerd.

Deze parameter is ontworpen voor ontwikkelings- en testscenario's waarin de inhoud van modules is gewijzigd sinds de sessie is gestart.

Wanneer u de parameter Vernieuwen opgeeft in een opdracht, moet u ListAvailable opgeven.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipEditionCheck

Slaat de controle van het veld CompatiblePSEditions over.

Standaard worden Get-Module modules weggelaten in de %windir%\System32\WindowsPowerShell\v1.0\Modules map die niet zijn opgegeven Core in het veld CompatiblePSEditions . Wanneer deze schakeloptie is ingesteld, worden modules zonder Core opgenomen, zodat modules onder het Windows PowerShell modulepad die niet compatibel zijn met PowerShell v6 en hoger worden geretourneerd.

In macOS en Linux doet deze parameter niets.

Zie about_PowerShell_Editions voor meer informatie.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

String

U kunt modulenamen doorspezen naar deze cmdlet.

Uitvoerwaarden

PSModuleInfo

Deze cmdlet retourneert objecten die modules vertegenwoordigen. Wanneer u de parameter ListAvailable opgeeft, Get-Module wordt een ModuleInfoGrouping-object geretourneerd. Dit is een type PSModuleInfo-object met dezelfde eigenschappen en methoden.

Notities

PowerShell bevat de volgende aliassen voor Get-Module:

  • Alle platformen:

    • gmo
  • Vanaf Windows PowerShell 3.0 worden de kernopdrachten die zijn opgenomen in PowerShell, verpakt in modules. De uitzondering is Microsoft.PowerShell.Core, een module (PSSnapin). Standaard wordt alleen de module Microsoft.PowerShell.Core toegevoegd aan de sessie. Modules worden automatisch geïmporteerd bij het eerste gebruik en u kunt de Import-Module cmdlet gebruiken om ze te importeren.

  • In Windows PowerShell 2.0 en in hostprogramma's die oudere sessies maken in latere versies van PowerShell, worden de kernopdrachten verpakt in modules (PSSnapins). De uitzondering is Microsoft.PowerShell.Core, wat altijd een module is. Externe sessies, zoals die zijn gestart door de New-PSSession cmdlet, zijn ook sessies in oudere stijl die kernmodules bevatten.

    Zie Methode CreateDefault2 voor informatie over de methode CreateDefault2 waarmee nieuwere sessies met kernmodules worden gemaakt.

  • Get-Module haalt alleen modules op op locaties die zijn opgeslagen in de waarde van de omgevingsvariabele PSModulePath ($env:PSModulePath). De Import-Module cmdlet kan modules op andere locaties importeren, maar u kunt de Get-Module cmdlet niet gebruiken om ze op te halen.

  • Vanaf PowerShell 3.0 zijn er ook nieuwe eigenschappen toegevoegd aan het object dat Get-Module retourneert, waardoor het gemakkelijker wordt om meer informatie over modules te krijgen, zelfs voordat ze worden geïmporteerd. Alle eigenschappen worden ingevuld voordat ze worden geïmporteerd. Deze omvatten de eigenschappen ExportedCommands, ExportedCmdlets en ExportedFunctions met de opdrachten die door de module worden geëxporteerd.

  • De parameter ListAvailable krijgt alleen goed gevormde modules, dat wil gezegd mappen die ten minste één bestand bevatten waarvan de basisnaam gelijk is aan de naam van de modulemap. De basisnaam is de naam zonder de bestandsnaamextensie. Mappen die bestanden met verschillende namen bevatten, worden beschouwd als containers, maar niet als modules.

    Als u modules wilt ophalen die zijn geïmplementeerd als DLL-bestanden, maar die niet zijn ingesloten in een modulemap, geeft u zowel de parameters ListAvailable als Alle op.

  • Als u de CIM-sessiefunctie wilt gebruiken, moet de externe computer WS-Management externe communicatie en WMI (Windows Management Instrumentation), de Microsoft-implementatie van de CIM-standaard (Common Information Model). De computer moet ook beschikken over de WMI-provider moduledetectie of een alternatieve WMI-provider met dezelfde basisfuncties.

    U kunt de CIM-sessiefunctie gebruiken op computers waarop het Windows-besturingssysteem niet wordt uitgevoerd en op Windows-computers waarop PowerShell is geïnstalleerd, maar waarop externe communicatie met PowerShell niet is ingeschakeld.

    U kunt ook de CIM-parameters gebruiken om CIM-modules op te halen van computers waarop externe communicatie van PowerShell is ingeschakeld. Dit geldt ook voor de lokale computer. Wanneer u een CIM-sessie op de lokale computer maakt, gebruikt PowerShell DCOM in plaats van WMI om de sessie te maken.