Get-Module

Vermeld de modules die zijn geïmporteerd in de huidige sessie 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 bevat de PowerShell-modules die zijn geïmporteerd of die kunnen worden geïmporteerd in een PowerShell-sessie. Zonder parameters worden Get-Module modules opgevraagd die zijn geïmporteerd in de huidige sessie. De parameter ListAvailable wordt gebruikt om de modules weer te geven die kunnen 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 doorsluisen naar andere cmdlets, zoals de Import-Module en Remove-Module cmdlets.

Get-Module bevat modules, maar deze worden niet geïmporteerd. 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 ophalen en vervolgens importeren uit externe sessies 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 vanuit de lokale sessie.

Vanaf Windows PowerShell 3.0 kunt u ook CIM-modules (Common Information Model) ophalen Get-ModuleImport-Module en 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 waarvoor externe communicatie van PowerShell is ingeschakeld. Maak een PSSession op de externe computer en gebruik vervolgens de PSSession-parameter om Get-Module de PowerShell-modules op te halen in de externe sessie. Wanneer u een module importeert vanuit de externe sessie, worden de geïmporteerde opdrachten uitgevoerd in de sessie op de externe computer.

U kunt een vergelijkbare strategie gebruiken om computers te beheren waarvoor externe communicatie van PowerShell niet is ingeschakeld. Dit zijn computers waarop het Windows-besturingssysteem niet wordt uitgevoerd en computers met PowerShell, maar waarvoor 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 om Get-Module 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 importeren 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 Microsoft.PowerShell.Management-module weergegeven door de volledig gekwalificeerde naam van de module op te geven met behulp van de parameter FullyQualifiedName . De opdracht voert vervolgens de resultaten uit in de Format-Table cmdlet om de resultaten op te maken als een tabel met naam en versie als de kolomkoppen.

In een volledig gekwalificeerde naam voor een module fungeert de waarde ModuleVersion als minimale versie. In dit voorbeeld komt dit 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 PSModuleInfo-object 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 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, ophaalt en vervolgens 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 module Windows PowerShell BitsTransfer-module weergegeven.

Modules zijn niet vereist om manifestbestanden te hebben. Wanneer ze wel een manifestbestand hebben, is het manifestbestand alleen vereist om een versienummer op te nemen. 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 PSModuleInfo-object 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 op te halen in het opgegeven pad. Er wordt een puntnotatie gebruikt om het pad naar het manifestbestand op te halen, dat is opgeslagen in de eigenschap Path 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 zich in een module bevindt voordat u deze importeert. Sommige modules bevatten mogelijk Help-bestanden of ReadMe-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 op de Server01-computer zijn geïnstalleerd.

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 maakt gebruik van de PSSession - en ListAvailable-parameters voor het ophalen van Get-Module de modules in de PSSession in de $s variabele.

Als u modules van andere sessies naar de Import-Module cmdlet doorgeeft, Import-Module importeert u de module in de huidige sessie met behulp van de impliciete externe functie. Dit komt overeen met het gebruik van de Import-PSSession cmdlet. U kunt de cmdlets uit de module in de huidige sessie gebruiken, maar opdrachten die deze cmdlets gebruiken, voeren de externe sessie daadwerkelijk uit. 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. In dit voorbeeld, omdat 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 externe RSDGF03-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 maakt gebruik van de CIM-sessie in de $cs variabele om een Get-Module opdracht uit te voeren op de RSDGF03-computer. De opdracht maakt gebruik van de parameter Name om de Storage-module op te geven. De opdracht maakt gebruik van een pijplijnoperator (|) om de Storage-module te verzenden naar de Import-Module cmdlet, waarmee deze wordt geïmporteerd in de lokale sessie.

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 in 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 van de externe computer op en retourneert deze naar de lokale sessie.

Parameters

-All

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

Type:SwitchParameter
Position:Named
Default value: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
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
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 of een opdracht bevat 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 met PowerShell, maar waarvoor externe communicatie van PowerShell niet is ingeschakeld.

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

Type:CimSession
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-FullyQualifiedName

Hiermee geeft u modules met namen die zijn opgegeven in de vorm van ModuleSpecification-objecten . Zie het gedeelte Opmerkingen van ModuleSpecification Constructor (Hashtable).

De parameter FullyQualifiedModule accepteert bijvoorbeeld een modulenaam die is opgegeven in een van deze indelingen:

  • @{ModuleName = "modulename"; ModuleVersion = "version_number"}
  • @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}

ModuleName en ModuleVersion zijn vereist, maar Guid is optioneel. U kunt de parameter FullyQualifiedModule niet opgeven in dezelfde opdracht als een moduleparameter . De twee parameters sluiten elkaar wederzijds uit.

De waarde kan een combinatie zijn van tekenreeksen en hashtabellen. De hashtabel heeft de volgende sleutels.

  • ModuleName - Vereist Hiermee geeft u de modulenaam.
  • GUID - Facultatief Hiermee geeft u de GUID van de module.
  • Het is ook vereist om een van de drie onderstaande sleutels op te geven. Deze sleutels kunnen niet samen worden gebruikt.
    • ModuleVersion - Hiermee geeft u een minimaal acceptabele versie van de module.
    • RequiredVersion - Hiermee geeft u een exacte, vereiste versie van de module.
    • MaximumVersion - Hiermee geeft u de maximaal acceptabele versie van de module.

Notitie

Deze parameter accepteert ook eenvoudigere vormen van invoer:

  • Een modulenaam
  • Een volledig gekwalificeerd pad naar de module
  • Een relatief pad naar de module. Wanneer het relatieve pad in een script wordt gebruikt, wordt het relatieve pad omgezet in een volledig gekwalificeerd pad ten opzichte van de locatie van het scriptbestand.
Type:ModuleSpecification[]
Position:Named
Default value:None
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 worden Get-Module alleen de modules opgehaald die beide worden vermeld in de omgevingsvariabele PSModulePath en die in de huidige sessie worden geladen. ListAvailable retourneert geen informatie over modules die niet zijn gevonden in de omgevingsvariabele PSModulePath , zelfs niet als deze modules in de huidige sessie worden geladen.

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

Hiermee geeft u namen of naampatronen op van modules die met deze cmdlet worden 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 .

De 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
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 PSModuleInfo-object voor de opgegeven waarde en retourneert alleen de modules die deze hebben 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
Accept pipeline input:False
Accept wildcard characters:False
-PSSession

Hiermee haalt u 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 PSSession-parameter 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
Accept pipeline input:False
Accept wildcard characters:False
-Refresh

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

Deze parameter is ontworpen voor ontwikkel- 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
Accept pipeline input:False
Accept wildcard characters:False
-SkipEditionCheck

Hiermee wordt de controle van het veld CompatiblePSEditions overgeslagen .

Get-Module Standaard worden modules weggelaten in de %windir%\System32\WindowsPowerShell\v1.0\Modules map die niet worden opgegeven Core in het veld CompatiblePSEditions. Wanneer deze switch is ingesteld, worden modules zonder Core opgenomen, zodat modules onder het Windows PowerShell modulepad dat niet compatibel is 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
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

String

U kunt modulenamen doorsluisen 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

  • 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 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 sessies die zijn gestart door de New-PSSession cmdlet, zijn ook oudere sessies met kernmodules.

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

  • Get-Module hiermee worden alleen modules opgehaald 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 het gemakkelijker maakt om meer te weten te komen over modules, zelfs voordat ze worden geïmporteerd. Alle eigenschappen worden ingevuld voordat u deze importeert. Dit zijn de eigenschappen ExportedCommands, ExportedCmdlets en ExportedFunctions waarmee de opdrachten worden vermeld 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 hetzelfde is als de naam van de modulemap. De basisnaam is de naam zonder de bestandsnaamextensie. Mappen met bestanden met verschillende namen worden beschouwd als containers, maar niet modules.

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

  • Als u de CIM-sessiefunctie wilt gebruiken, moet de externe computer beschikken over WS-Management externe communicatie en WMI (Windows Management Instrumentation). Dit is 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 en op Windows-computers met PowerShell niet worden uitgevoerd, maar waarvoor externe communicatie van 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 omvat 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.