Delen via


Import-Module

Voegt modules toe aan de huidige sessie.

Syntaxis

Import-Module
      [-Global]
      [-Prefix <String>]
      [-Name] <String[]>
      [-Function <String[]>]
      [-Cmdlet <String[]>]
      [-Variable <String[]>]
      [-Alias <String[]>]
      [-Force]
      [-SkipEditionCheck]
      [-PassThru]
      [-AsCustomObject]
      [-MinimumVersion <Version>]
      [-MaximumVersion <String>]
      [-RequiredVersion <Version>]
      [-ArgumentList <Object[]>]
      [-DisableNameChecking]
      [-NoClobber]
      [-Scope <String>] 
      [<CommonParameters>]
Import-Module
      [-Global]
      [-Prefix <String>]
      [-Name] <String[]>
      [-Function <String[]>]
      [-Cmdlet <String[]>]
      [-Variable <String[]>]
      [-Alias <String[]>]
      [-Force]
      [-SkipEditionCheck]
      [-PassThru]
      [-AsCustomObject]
      [-MinimumVersion <Version>]
      [-MaximumVersion <String>]
      [-RequiredVersion <Version>]
      [-ArgumentList <Object[]>]
      [-DisableNameChecking]
      [-NoClobber]
      [-Scope <String>]
      -PSSession <PSSession> 
      [<CommonParameters>]
Import-Module
      [-Global]
      [-Prefix <String>]
      [-Name] <String[]>
      [-Function <String[]>]
      [-Cmdlet <String[]>]
      [-Variable <String[]>]
      [-Alias <String[]>]
      [-Force]
      [-SkipEditionCheck]
      [-PassThru]
      [-AsCustomObject]
      [-MinimumVersion <Version>]
      [-MaximumVersion <String>]
      [-RequiredVersion <Version>]
      [-ArgumentList <Object[]>]
      [-DisableNameChecking]
      [-NoClobber]
      [-Scope <String>]
      -CimSession <CimSession>
      [-CimResourceUri <Uri>]
      [-CimNamespace <String>]
      [<CommonParameters>]
Import-Module
      [-Name] <string[]>
      -UseWindowsPowerShell
      [-Global]
      [-Prefix <string>]
      [-Function <string[]>]
      [-Cmdlet <string[]>]
      [-Variable <string[]>]
      [-Alias <string[]>]
      [-Force]
      [-PassThru]
      [-AsCustomObject]
      [-MinimumVersion <version>]
      [-MaximumVersion <string>]
      [-RequiredVersion <version>]
      [-ArgumentList <Object[]>]
      [-DisableNameChecking]
      [-NoClobber]
      [-Scope <string>]
      [<CommonParameters>]
Import-Module
      [-Global]
      [-Prefix <String>]
      [-FullyQualifiedName] <ModuleSpecification[]>
      [-Function <String[]>]
      [-Cmdlet <String[]>]
      [-Variable <String[]>]
      [-Alias <String[]>]
      [-Force]
      [-SkipEditionCheck]
      [-PassThru]
      [-AsCustomObject]
      [-ArgumentList <Object[]>]
      [-DisableNameChecking]
      [-NoClobber]
      [-Scope <String>] 
      [<CommonParameters>]
Import-Module
      [-Global]
      [-Prefix <String>]
      [-FullyQualifiedName] <ModuleSpecification[]>
      [-Function <String[]>]
      [-Cmdlet <String[]>]
      [-Variable <String[]>]
      [-Alias <String[]>]
      [-Force]
      [-SkipEditionCheck]
      [-PassThru]
      [-AsCustomObject]
      [-ArgumentList <Object[]>]
      [-DisableNameChecking]
      [-NoClobber]
      [-Scope <String>]
      -PSSession <PSSession> 
      [<CommonParameters>]
Import-Module
      [-FullyQualifiedName] <ModuleSpecification[]>
      -UseWindowsPowerShell
      [-Global]
      [-Prefix <string>]
      [-Function <string[]>]
      [-Cmdlet <string[]>]
      [-Variable <string[]>]
      [-Alias <string[]>]
      [-Force]
      [-PassThru]
      [-AsCustomObject]
      [-ArgumentList <Object[]>]
      [-DisableNameChecking]
      [-NoClobber]
      [-Scope <string>]
      [<CommonParameters>]
Import-Module
      [-Global]
      [-Prefix <String>]
      [-Assembly] <Assembly[]>
      [-Function <String[]>]
      [-Cmdlet <String[]>]
      [-Variable <String[]>]
      [-Alias <String[]>]
      [-Force]
      [-SkipEditionCheck]
      [-PassThru]
      [-AsCustomObject]
      [-ArgumentList <Object[]>]
      [-DisableNameChecking]
      [-NoClobber]
      [-Scope <String>] 
      [<CommonParameters>]
Import-Module
      [-Global]
      [-Prefix <String>]
      [-Function <String[]>]
      [-Cmdlet <String[]>]
      [-Variable <String[]>]
      [-Alias <String[]>]
      [-Force]
      [-SkipEditionCheck]
      [-PassThru]
      [-AsCustomObject]
      [-ModuleInfo] <PSModuleInfo[]>
      [-ArgumentList <Object[]>]
      [-DisableNameChecking]
      [-NoClobber]
      [-Scope <String>] 
      [<CommonParameters>]

Description

Met Import-Module de cmdlet worden een of meer modules toegevoegd aan de huidige sessie. Vanaf PowerShell 3.0 worden geïnstalleerde modules automatisch geïmporteerd in de sessie wanneer u opdrachten of providers in de module gebruikt. U kunt echter nog steeds de Import-Module opdracht gebruiken om een module te importeren. U kunt het importeren van automatische modules uitschakelen met behulp van de $PSModuleAutoloadingPreference voorkeursvariabele. Zie about_Preference_Variables voor meer informatie over de $PSModuleAutoloadingPreference variabele.

Een module is een pakket dat leden bevat die kunnen worden gebruikt in PowerShell. Leden omvatten cmdlets, providers, scripts, functies, variabelen en andere hulpprogramma's en bestanden. Nadat een module is geïmporteerd, kunt u de moduleleden in uw sessie gebruiken. Zie about_Modules voor meer informatie over modules.

Import-Module Standaard importeert u alle leden die door de module worden geëxporteerd, maar u kunt de parameters Alias, Functie, Cmdlet en Variabele gebruiken om te beperken welke leden worden geïmporteerd. De parameter NoClobber voorkomt dat Import-Module leden met dezelfde namen als leden in de huidige sessie worden geïmporteerd.

Import-Module importeert alleen een module in de huidige sessie. Als u de module in elke nieuwe sessie wilt importeren, voegt u een Import-Module opdracht toe aan uw PowerShell-profiel. Zie about_Profiles voor meer informatie over profielen.

U kunt externe Windows-computers beheren waarvoor externe communicatie via PowerShell is ingeschakeld door een PSSession te maken op de externe computer. Gebruik vervolgens de PSSession-parameter om Import-Module de modules te importeren die op de externe computer zijn geïnstalleerd. Wanneer u de geïmporteerde opdrachten in de huidige sessie gebruikt, worden de opdrachten impliciet uitgevoerd op de externe computer.

Vanaf Windows PowerShell 3.0 kunt Import-Module u CIM-modules (Common Information Model) 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++.

Voor externe computers waarop externe communicatie met PowerShell niet is ingeschakeld, inclusief computers waarop het Windows-besturingssysteem niet wordt uitgevoerd, kunt u de CIMSession-parameter Import-Module gebruiken om CIM-modules te importeren vanaf de externe computer. De geïmporteerde opdrachten worden impliciet uitgevoerd op de externe computer. Een CIMSession is een verbinding met Windows Management Instrumentation (WMI) op de externe computer.

Voorbeelden

Voorbeeld 1: De leden van een module importeren in de huidige sessie

In dit voorbeeld worden de leden van de PSDiagnostics-module geïmporteerd in de huidige sessie.

Import-Module -Name PSDiagnostics

Voorbeeld 2: alle modules importeren die zijn opgegeven door het modulepad

In dit voorbeeld worden alle beschikbare modules geïmporteerd in het pad dat is opgegeven door de $env:PSModulePath omgevingsvariabele in de huidige sessie.

Get-Module -ListAvailable | Import-Module

Voorbeeld 3: de leden van verschillende modules importeren in de huidige sessie

In dit voorbeeld worden de leden van de PSDiagnostics - en Dism-modules geïmporteerd in de huidige sessie.

$m = Get-Module -ListAvailable PSDiagnostics, Dism
Import-Module -ModuleInfo $m

De Get-Module cmdlet haalt de PSDiagnostics- en Dism-modules op en slaat de objecten in de $m variabele op. De parameter ListAvailable is vereist wanneer u modules ontvangt die nog niet in de sessie zijn geïmporteerd.

De parameter ModuleInfo van Import-Module wordt gebruikt om de modules in de huidige sessie te importeren.

Voorbeeld 4: Alle modules importeren die zijn opgegeven door een pad

In dit voorbeeld wordt een expliciet pad gebruikt om de module te identificeren die moet worden geïmporteerd.

Import-Module -Name c:\ps-test\modules\test -Verbose

VERBOSE: Loading module from path 'C:\ps-test\modules\Test\Test.psm1'.
VERBOSE: Exporting function 'my-parm'.
VERBOSE: Exporting function 'Get-Parameter'.
VERBOSE: Exporting function 'Get-Specification'.
VERBOSE: Exporting function 'Get-SpecDetails'.

Als u de uitgebreide parameter gebruikt, wordt Import-Module de voortgang rapporteren terwijl de module wordt geladen. Zonder de parameter Import-Module Uitgebreid, PassThru of AsCustomObject genereert geen uitvoer wanneer er een module wordt geïmporteerd.

Voorbeeld 5: Moduleleden beperken die zijn geïmporteerd in een sessie

In dit voorbeeld ziet u hoe u kunt beperken welke moduleleden worden geïmporteerd in de sessie en het effect van deze opdracht op de sessie. De functieparameter beperkt de leden die uit de module worden geïmporteerd. U kunt ook de parameters Alias, Variabele en Cmdlet gebruiken om andere leden te beperken die door een module worden geïmporteerd.

De Get-Module cmdlet haalt het object op dat de PSDiagnostics-module vertegenwoordigt. De eigenschap ExportsCmdlets bevat alle cmdlets die de module exporteert, ook al zijn ze niet allemaal geïmporteerd.

Import-Module PSDiagnostics -Function Disable-PSTrace, Enable-PSTrace
(Get-Module PSDiagnostics).ExportedCommands

Key                          Value
---                          -----
Disable-PSTrace              Disable-PSTrace
Disable-PSWSManCombinedTrace Disable-PSWSManCombinedTrace
Disable-WSManTrace           Disable-WSManTrace
Enable-PSTrace               Enable-PSTrace
Enable-PSWSManCombinedTrace  Enable-PSWSManCombinedTrace
Enable-WSManTrace            Enable-WSManTrace
Get-LogProperties            Get-LogProperties
Set-LogProperties            Set-LogProperties
Start-Trace                  Start-Trace
Stop-Trace                   Stop-Trace

Get-Command -Module PSDiagnostics

CommandType     Name                 Version    Source
-----------     ----                 -------    ------
Function        Disable-PSTrace      6.1.0.0    PSDiagnostics
Function        Enable-PSTrace       6.1.0.0    PSDiagnostics

Met behulp van de moduleparameter van de Get-Command cmdlet worden de opdrachten weergegeven die zijn geïmporteerd uit de PSDiagnostics-module . De resultaten bevestigen dat alleen de Disable-PSTrace en Enable-PSTrace cmdlets zijn geïmporteerd.

Voorbeeld 6: De leden van een module importeren en een voorvoegsel toevoegen

In dit voorbeeld wordt de PSDiagnostics-module geïmporteerd in de huidige sessie, wordt een voorvoegsel toegevoegd aan de ledennamen en worden vervolgens de voorvoegselnamen weergegeven. Met de parameter Voorvoegsel van Import-Module het voorvoegsel wordt het x voorvoegsel toegevoegd aan alle leden die uit de module worden geïmporteerd. Het voorvoegsel is alleen van toepassing op de leden in de huidige sessie. De module wordt niet gewijzigd. De parameter PassThru retourneert een moduleobject dat de geïmporteerde module vertegenwoordigt.

Import-Module PSDiagnostics -Prefix x -PassThru

ModuleType Version    Name               ExportedCommands
---------- -------    ----               ----------------
Script     6.1.0.0    PSDiagnostics      {Disable-xPSTrace, Disable-xPSWSManCombinedTrace, Disable-xW...

Get-Command -Module PSDiagnostics

CommandType     Name                                   Version    Source
-----------     ----                                   -------    ------
Function        Disable-xPSTrace                       6.1.0.0    PSDiagnostics
Function        Disable-xPSWSManCombinedTrace          6.1.0.0    PSDiagnostics
Function        Disable-xWSManTrace                    6.1.0.0    PSDiagnostics
Function        Enable-xPSTrace                        6.1.0.0    PSDiagnostics
Function        Enable-xPSWSManCombinedTrace           6.1.0.0    PSDiagnostics
Function        Enable-xWSManTrace                     6.1.0.0    PSDiagnostics
Function        Get-xLogProperties                     6.1.0.0    PSDiagnostics
Function        Set-xLogProperties                     6.1.0.0    PSDiagnostics
Function        Start-xTrace                           6.1.0.0    PSDiagnostics
Function        Stop-xTrace                            6.1.0.0    PSDiagnostics

Get-Command haalt de leden op die zijn geïmporteerd uit de module. In de uitvoer ziet u dat de moduleleden correct zijn voorafgegaan.

Voorbeeld 7: Een aangepast object ophalen en gebruiken

In dit voorbeeld ziet u hoe u het aangepaste object kunt ophalen en gebruiken dat wordt geretourneerd door Import-Module.

Aangepaste objecten bevatten synthetische leden die elk van de geïmporteerde moduleleden vertegenwoordigen. De cmdlets en functies in een module worden bijvoorbeeld geconverteerd naar scriptmethoden van het aangepaste object.

Aangepaste objecten zijn handig bij het uitvoeren van scripts. Ze zijn ook handig wanneer verschillende geïmporteerde objecten dezelfde namen hebben. Het gebruik van de scriptmethode van een object is gelijk aan het opgeven van de volledig gekwalificeerde naam van een geïmporteerd lid, inclusief de modulenaam.

De parameter AsCustomObject is alleen bruikbaar bij het importeren van een scriptmodule. Gebruik Get-Module dit om te bepalen welke van de beschikbare modules een scriptmodule is.

Get-Module -List | Format-Table -Property Name, ModuleType -AutoSize

Name          ModuleType
----          ----------
Show-Calendar     Script
BitsTransfer    Manifest
PSDiagnostics   Manifest
TestCmdlets       Script
...

$a = Import-Module -Name Show-Calendar -AsCustomObject -PassThru
$a | Get-Member

TypeName: System.Management.Automation.PSCustomObject
Name          MemberType   Definition
----          ----------   ----------
Equals        Method       bool Equals(System.Object obj)
GetHashCode   Method       int GetHashCode()
GetType       Method       type GetType()
ToString      Method       string ToString()
Show-Calendar ScriptMethod System.Object Show-Calendar();

$a."Show-Calendar"()

De Show-Calendar scriptmodule wordt geïmporteerd met behulp van de parameter AsCustomObject om een aangepast object aan te vragen en de Parameter PassThru om het object te retourneren. Het resulterende aangepaste object wordt opgeslagen in de $a variabele.

De $a variabele wordt doorgesluisd naar de Get-Member cmdlet om de eigenschappen en methoden van het opgeslagen object weer te geven. De uitvoer toont een Show-Calendar scriptmethode.

Als u de Show-Calendar scriptmethode wilt aanroepen, moet de methodenaam tussen aanhalingstekens staan omdat de naam een afbreekstreepje bevat.

Voorbeeld 8: Een module opnieuw importeren in dezelfde sessie

In dit voorbeeld ziet u hoe u de parameter Force gebruikt wanneer Import-Module u een module opnieuw in dezelfde sessie wilt importeren. De parameter Force verwijdert de geladen module en importeert deze opnieuw.

Import-Module PSDiagnostics
Import-Module PSDiagnostics -Force -Prefix PS

Met de eerste opdracht wordt de PSDiagnostics-module geïmporteerd. Met de tweede opdracht wordt de module opnieuw geïmporteerd, deze keer met behulp van de parameter Voorvoegsel .

Zonder de parameter Force bevat de sessie twee kopieën van elke PSDiagnostics-cmdlet , één met de standaardnaam en een met de voorvoegselnaam.

Voorbeeld 9: Opdrachten uitvoeren die zijn verborgen door geïmporteerde opdrachten

In dit voorbeeld ziet u hoe u opdrachten uitvoert die zijn verborgen door geïmporteerde opdrachten. De Module TestModule bevat een functie die Get-Date het jaar en de dag van het jaar retourneert.

Get-Date

Thursday, August 15, 2019 2:26:12 PM

Import-Module TestModule
Get-Date

19227

Get-Command Get-Date -All | Format-Table -Property CommandType, Name, ModuleName -AutoSize

CommandType     Name         ModuleName
-----------     ----         ----------
Function        Get-Date     TestModule
Cmdlet          Get-Date     Microsoft.PowerShell.Utility

Microsoft.PowerShell.Utility\Get-Date

Thursday, August 15, 2019 2:28:31 PM

De eerste Get-Date cmdlet retourneert een DateTime-object met de huidige datum. Nadat u de Module TestModule hebt geïmporteerd, Get-Date wordt het jaar en de dag van het jaar geretourneerd.

Gebruik de parameter All van alle om Get-Command alle Get-Date opdrachten in de sessie weer te geven. De resultaten laten zien dat er twee Get-Date opdrachten in de sessie zijn, een functie uit de Module TestModule en een cmdlet van de module Microsoft.PowerShell.Utility .

Omdat functies voorrang hebben op cmdlets, wordt de Get-Date functie uit de Module TestModule uitgevoerd in plaats van de Get-Date cmdlet. Als u de oorspronkelijke versie van Get-Datewilt uitvoeren, moet u de opdrachtnaam kwalificeren met de modulenaam.

Zie about_Command_Precedence voor meer informatie over de prioriteit van opdrachten in PowerShell.

Voorbeeld 10: Een minimale versie van een module importeren

In dit voorbeeld wordt de PowerShellGet-module geïmporteerd. De parameter Import-Module MinimumVersion wordt gebruikt om alleen versie 2.0.0 of hoger van de module te importeren.

Import-Module -Name PowerShellGet -MinimumVersion 2.0.0

U kunt ook de parameter RequiredVersion gebruiken om een bepaalde versie van een module te importeren of de parameters Module en Versie van het #Requires trefwoord te gebruiken om een bepaalde versie van een module in een script te vereisen.

Voorbeeld 11: Importeren met een volledig gekwalificeerde naam

In dit voorbeeld wordt een specifieke versie van een module geïmporteerd met behulp van FullyQualifiedName.

PS> Get-Module -ListAvailable PowerShellGet | Select-Object Name, Version

Name          Version
----          -------
PowerShellGet 2.2.1
PowerShellGet 2.1.3
PowerShellGet 2.1.2
PowerShellGet 1.0.0.1

PS> Import-Module -FullyQualifiedName @{ModuleName = 'PowerShellGet'; ModuleVersion = '2.1.3' }

Voorbeeld 12: Importeren met behulp van een volledig gekwalificeerd pad

In dit voorbeeld wordt een specifieke versie van een module geïmporteerd met behulp van het volledig gekwalificeerde pad.

PS> Get-Module -ListAvailable PowerShellGet | Select-Object Path

Path
----
C:\Program Files\PowerShell\Modules\PowerShellGet\2.2.1\PowerShellGet.psd1
C:\program files\powershell\6\Modules\PowerShellGet\PowerShellGet.psd1
C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\2.1.2\PowerShellGet.psd1
C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PowerShellGet.psd1

PS> Import-Module -Name 'C:\Program Files\PowerShell\Modules\PowerShellGet\2.2.1\PowerShellGet.psd1'

Voorbeeld 13: Een module importeren vanaf een externe computer

In dit voorbeeld ziet u hoe u de Import-Module cmdlet gebruikt om een module te importeren vanaf een externe computer. Deze opdracht maakt gebruik van de functie Impliciete externe toegang van PowerShell.

Wanneer u modules uit een andere sessie importeert, kunt u de cmdlets in de huidige sessie gebruiken. Opdrachten die gebruikmaken van de cmdlets worden echter uitgevoerd in de externe sessie.

$s = New-PSSession -ComputerName Server01
Get-Module -PSSession $s -ListAvailable -Name NetSecurity

ModuleType Name             ExportedCommands
---------- ----             ----------------
Manifest   NetSecurity      {New-NetIPsecAuthProposal, New-NetIPsecMainModeCryptoProposal, New-Ne...

Import-Module -PSSession $s -Name NetSecurity
Get-Command -Module NetSecurity -Name Get-*Firewall*

CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Function        Get-NetFirewallAddressFilter                       NetSecurity
Function        Get-NetFirewallApplicationFilter                   NetSecurity
Function        Get-NetFirewallInterfaceFilter                     NetSecurity
Function        Get-NetFirewallInterfaceTypeFilter                 NetSecurity
Function        Get-NetFirewallPortFilter                          NetSecurity
Function        Get-NetFirewallProfile                             NetSecurity
Function        Get-NetFirewallRule                                NetSecurity
Function        Get-NetFirewallSecurityFilter                      NetSecurity
Function        Get-NetFirewallServiceFilter                       NetSecurity
Function        Get-NetFirewallSetting                             NetSecurity

Get-NetFirewallRule -DisplayName "Windows Remote Management*" |
  Format-Table -Property DisplayName, Name -AutoSize

DisplayName                                              Name
-----------                                              ----
Windows Remote Management (HTTP-In)                      WINRM-HTTP-In-TCP
Windows Remote Management (HTTP-In)                      WINRM-HTTP-In-TCP-PUBLIC
Windows Remote Management - Compatibility Mode (HTTP-In) WINRM-HTTP-Compat-In-TCP

New-PSSession maakt een externe sessie (PSSession) op de Server01 computer. De PSSession wordt opgeslagen in de $s variabele.

Als de parameter PSSession wordt uitgevoerdGet-Module, ziet u dat de NetSecurity-module is geïnstalleerd en beschikbaar is op de externe computer. Deze opdracht is gelijk aan het gebruik van de cmdlet om de Invoke-Command opdracht uit te voeren Get-Module in de externe sessie. Voorbeeld:

Invoke-Command $s {Get-Module -ListAvailable -Name NetSecurity

Als de parameter PSSession wordt uitgevoerdImport-Module, wordt de NetSecurity-module van de externe computer geïmporteerd in de huidige sessie. De Get-Command cmdlet haalt opdrachten op die beginnen met Get en opnemen Firewall uit de NetSecurity-module . De uitvoer bevestigt dat de module en de bijbehorende cmdlets zijn geïmporteerd in de huidige sessie.

Vervolgens haalt de Get-NetFirewallRule cmdlet firewallregels voor Windows Remote Management op de Server01 computer op. Dit komt overeen met het gebruik van de Invoke-Command cmdlet die moet worden uitgevoerd Get-NetFirewallRule op de externe sessie.

Voorbeeld 14: Opslag beheren op een externe computer zonder het Windows-besturingssysteem

In dit voorbeeld heeft de beheerder van de computer de WMI-provider moduledetectie geïnstalleerd, waarmee u CIM-opdrachten kunt gebruiken die zijn ontworpen voor de provider.

De New-CimSession cmdlet maakt een sessie op de externe computer met de naam RSDGF03. De sessie maakt verbinding met de WMI-service op de externe computer. De CIM-sessie wordt opgeslagen in de $cs variabele. Import-Module gebruikt de CimSession in $cs om de Storage CIM-module van de RSDGF03 computer te importeren.

De Get-Command cmdlet toont de Get-Disk opdracht in de Storage-module . Wanneer u een CIM-module in de lokale sessie importeert, converteert PowerShell de CDXML-bestanden voor elke opdracht naar PowerShell-scripts, die worden weergegeven als functies in de lokale sessie.

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

$cs = New-CimSession -ComputerName RSDGF03
Import-Module -CimSession $cs -Name Storage
# Importing a CIM module, converts the CDXML files for each command into
# PowerShell scripts. These appear as functions in the local session.
Get-Command Get-Disk

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

# Use implicit remoting to query disks on the remote computer from which the
# module was imported.
Get-Disk

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

Parameters

-Alias

Hiermee geeft u de aliassen op die met deze cmdlet uit de module worden geïmporteerd in de huidige sessie. Voer een door komma's gescheiden lijst met aliassen in. Jokertekens zijn toegestaan.

Sommige modules exporteren automatisch geselecteerde aliassen naar uw sessie wanneer u de module importeert. Met deze parameter kunt u kiezen uit de geëxporteerde aliassen.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:True

-ArgumentList

Hiermee geeft u een matrix met argumenten of parameterwaarden op die tijdens de Import-Module opdracht worden doorgegeven aan een scriptmodule. Deze parameter is alleen geldig wanneer u een scriptmodule importeert.

U kunt ook verwijzen naar de parameter ArgumentList op basis van de alias args. Zie about_Splatting voor meer informatie over het gedrag van ArgumentList.

Type:Object[]
Aliassen:Args
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-AsCustomObject

Geeft aan dat deze cmdlet een aangepast object retourneert met leden die de geïmporteerde moduleleden vertegenwoordigen. Deze parameter is alleen geldig voor scriptmodules.

Wanneer u de parameter AsCustomObject gebruikt, Import-Module importeert u de moduleleden in de sessie en retourneert u vervolgens een PSCustomObject-object in plaats van een PSModuleInfo-object . U kunt het aangepaste object opslaan in een variabele en de opsomming voor lidtoegang gebruiken om de leden aan te roepen.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Assembly

Hiermee geeft u een matrix van assembly-objecten. Met deze cmdlet worden de cmdlets en providers geïmporteerd die zijn geïmplementeerd in de opgegeven assemblyobjecten. Voer een variabele in die assemblyobjecten bevat of een opdracht waarmee assemblyobjecten worden gemaakt. U kunt ook een assembly-object doorsluisen naar Import-Module.

Wanneer u deze parameter gebruikt, worden alleen de cmdlets en providers geïmporteerd die door de opgegeven assembly's zijn geïmplementeerd. Als de module andere bestanden bevat, worden ze niet geïmporteerd en mist u mogelijk belangrijke leden van de module. Gebruik deze parameter voor foutopsporing en het testen van de module, of wanneer u wordt geïnstrueerd om deze te gebruiken door de auteur van de module.

Type:Assembly[]
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren: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 voor moduledetectie.

Gebruik deze parameter om CIM-modules te importeren van computers en apparaten waarop geen Windows-besturingssysteem wordt uitgevoerd.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-CimResourceUri

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

Gebruik deze parameter om CIM-modules te importeren van computers en apparaten waarop geen Windows-besturingssysteem wordt uitgevoerd.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:Uri
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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 .

Import-Module maakt gebruik van de CIM-sessieverbinding om modules van de externe computer te importeren in de huidige sessie. Wanneer u de opdrachten uit de geïmporteerde module in de huidige sessie gebruikt, worden de opdrachten uitgevoerd op de externe computer.

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

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:CimSession
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Cmdlet

Hiermee geeft u een matrix van cmdlets op die met deze cmdlet worden geïmporteerd uit de module in de huidige sessie. Jokertekens zijn toegestaan.

Sommige modules exporteren automatisch geselecteerde cmdlets naar uw sessie wanneer u de module importeert. Met deze parameter kunt u kiezen uit de geëxporteerde cmdlets.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:True

-DisableNameChecking

Geeft aan dat deze cmdlet het bericht onderdrukt dat u waarschuwt wanneer u een cmdlet of functie importeert waarvan de naam een niet-goedgekeurd werkwoord of een verboden teken bevat.

Wanneer een module die u importeert cmdlets of functies met niet-goedgekeurde werkwoorden in hun namen importeert, wordt in PowerShell standaard het volgende waarschuwingsbericht weergegeven:

WAARSCHUWING: Sommige geïmporteerde opdrachtnamen bevatten niet-goedgekeurde werkwoorden, waardoor ze mogelijk minder detecteerbaar zijn. Gebruik de uitgebreide parameter voor meer details of typ Get-Verb om de lijst met goedgekeurde werkwoorden weer te geven.

Dit bericht is slechts een waarschuwing. De volledige module wordt nog steeds geïmporteerd, inclusief de niet-conforme opdrachten. Hoewel het bericht wordt weergegeven aan modulegebruikers, moet het naamgevingsprobleem worden opgelost door de auteur van de module.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Force

Deze parameter zorgt ervoor dat een module boven aan de huidige module wordt geladen of opnieuw wordt geladen. Sommige modules laden externe assembly's. Het importeren mislukt als u een module importeert waarmee een nieuwere versie van een assembly wordt geladen. De parameter Force kan de fout niet overschrijven. U moet een nieuwe sessie starten om de nieuwe versie te laden.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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 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 naar de PSModulePath voor de opgegeven module.

Een modulespecificatie is een hashtabel met de volgende sleutels.

  • ModuleName - Vereist : hiermee geeft u de modulenaam op.
  • GUID - Optioneel : hiermee geeft u de GUID van de module op.
  • Het is ook vereist om ten minste één van de drie onderstaande sleutels op te geven.
    • ModuleVersion - Hiermee geeft u een minimaal acceptabele versie van de module.
    • MaximumVersion - Hiermee geeft u de maximaal aanvaardbare versie van de module.
    • RequiredVersion - Hiermee geeft u een exacte, vereiste versie van de module. Dit kan niet worden gebruikt met de andere versiesleutels.
Type:ModuleSpecification[]
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Function

Hiermee geeft u een matrix van functies op die met deze cmdlet worden geïmporteerd uit de module in de huidige sessie. Jokertekens zijn toegestaan. Sommige modules exporteren automatisch geselecteerde functies naar uw sessie wanneer u de module importeert. Met deze parameter kunt u kiezen uit de geëxporteerde functies.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:True

-Global

Geeft aan dat met deze cmdlet modules worden geïmporteerd in de status van de globale sessie, zodat deze beschikbaar zijn voor alle opdrachten in de sessie.

Import-Module Wanneer de cmdlet wordt aangeroepen vanaf de opdrachtprompt, het scriptbestand of de scriptblokkering, worden alle opdrachten standaard geïmporteerd in de globale sessiestatus.

Wanneer de cmdlet wordt aangeroepen vanuit een andere module, Import-Module importeert de cmdlet de opdrachten in een module, inclusief opdrachten van geneste modules, in de sessiestatus van de aanroepende module.

Tip

Vermijd aanroepen Import-Module vanuit een module. Declareer in plaats daarvan de doelmodule als een geneste module in het manifest van de bovenliggende module. Het declareren van geneste modules verbetert de detectie van afhankelijkheden.

De globale parameter is gelijk aan de bereikparameter met de waarde Global.

Als u de opdrachten wilt beperken die door een module worden geëxporteerd, gebruikt u een Export-ModuleMember opdracht in de scriptmodule.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-MaximumVersion

Hiermee geeft u een maximale versie. Met deze cmdlet wordt alleen een versie van de module geïmporteerd die kleiner is dan of gelijk is aan de opgegeven waarde. Als er geen versie in aanmerking komt, Import-Module wordt een fout geretourneerd.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-MinimumVersion

Hiermee geeft u een minimale versie. Met deze cmdlet importeert u alleen een versie van de module die groter is dan of gelijk is aan de opgegeven waarde. Gebruik de parameternaam MinimumVersion of de alias, versie. Als er geen versie in aanmerking komt, Import-Module wordt er een fout gegenereerd.

Als u een exacte versie wilt opgeven, gebruikt u de parameter RequiredVersion . U kunt ook de module- en versieparameters van het trefwoord #Requires gebruiken om een specifieke versie van een module in een script te vereisen.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:Version
Aliassen:Version
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ModuleInfo

Hiermee geeft u een matrix van moduleobjecten die moeten worden geïmporteerd. Voer een variabele in die de moduleobjecten bevat of een opdracht waarmee de moduleobjecten worden opgehaald, zoals de volgende opdracht: Get-Module -ListAvailable U kunt ook moduleobjecten doorsluisen naar Import-Module.

Type:PSModuleInfo[]
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Name

Hiermee geeft u de namen van de modules die moeten worden geïmporteerd. Voer de naam van de module of de naam van een bestand in de module in, zoals een .psd1, .psm1.dllof .ps1 bestand. Bestandspaden zijn optioneel. Jokertekens zijn niet toegestaan. U kunt ook modulenamen en bestandsnamen doorsluisen naar Import-Module.

Als u een pad weglaat, Import-Module zoekt u naar de module in de paden die zijn opgeslagen in de $env:PSModulePath omgevingsvariabele.

Geef indien mogelijk alleen de modulenaam op. Wanneer u een bestandsnaam opgeeft, worden alleen de leden die in dat bestand zijn geïmplementeerd, geïmporteerd. Als de module andere bestanden bevat, worden ze niet geïmporteerd en mist u mogelijk belangrijke leden van de module.

Notitie

Hoewel het mogelijk is om een scriptbestand (.ps1) als een module te importeren, zijn scriptbestanden meestal niet gestructureerd, zoals bestand met scriptmodules (.psm1). Het importeren van een scriptbestand garandeert niet dat het kan worden gebruikt als een module. Zie about_Modules voor meer informatie.

Type:String[]
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:True

-NoClobber

Voorkomt het importeren van opdrachten met dezelfde namen als bestaande opdrachten in de huidige sessie. Import-Module Standaard importeert u alle geëxporteerde moduleopdrachten.

Opdrachten met dezelfde namen kunnen opdrachten in de sessie verbergen of vervangen. Gebruik het voorvoegsel of NoClobber-parameters om conflicten met opdrachtnamen in een sessie te voorkomen. Zie modules en naamconflicten in about_Modules en about_Command_Precedence voor meer informatie over naamconflicten en opdrachtprioriteit.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliassen:NoOverwrite
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-PassThru

Retourneert een object dat de geïmporteerde module vertegenwoordigt. Deze cmdlet genereert standaard geen uitvoer.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Prefix

Hiermee geeft u een voorvoegsel op dat met deze cmdlet wordt toegevoegd aan de zelfstandige naamwoorden in de namen van geïmporteerde moduleleden.

Gebruik deze parameter om naamconflicten te voorkomen die kunnen optreden wanneer verschillende leden in de sessie dezelfde naam hebben. Deze parameter wijzigt de module niet en heeft geen invloed op bestanden die door de module worden geïmporteerd voor eigen gebruik. Deze worden geneste modules genoemd. Deze cmdlet is alleen van invloed op de namen van leden in de huidige sessie.

Als u bijvoorbeeld het voorvoegsel UTC opgeeft en vervolgens een Get-Date cmdlet importeert, staat de cmdlet bekend in de sessie als Get-UTCDateen wordt deze niet verward met de oorspronkelijke Get-Date cmdlet.

De waarde van deze parameter heeft voorrang op de eigenschap DefaultCommandPrefix van de module, waarmee het standaardvoorvoegsel wordt opgegeven.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-PSSession

Hiermee geeft u een door de gebruiker beheerde PowerShell-sessie (PSSession) op waaruit deze cmdlet modules in de huidige sessie importeert. Voer een variabele in die een PSSession of een opdracht bevat die een PSSession ophaalt, zoals een Get-PSSession opdracht.

Wanneer u een module uit een andere sessie in de huidige sessie importeert, kunt u de cmdlets uit de module in de huidige sessie gebruiken, net zoals u cmdlets uit een lokale module zou gebruiken. Opdrachten die gebruikmaken van de externe cmdlets worden uitgevoerd in de externe sessie, maar de details van externe communicatie worden op de achtergrond beheerd door PowerShell.

Deze parameter maakt gebruik van de functie Impliciete externe communicatie van PowerShell. Het komt overeen met het gebruik van de Import-PSSession cmdlet om bepaalde modules uit een sessie te importeren.

Import-Module kan kernmodules van PowerShell niet importeren uit een andere sessie. De belangrijkste PowerShell-modules hebben namen die beginnen met Microsoft.PowerShell.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:PSSession
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-RequiredVersion

Hiermee geeft u een versie van de module op die door deze cmdlet wordt geïmporteerd. Als de versie niet is geïnstalleerd, Import-Module wordt er een fout gegenereerd.

De module wordt standaard Import-Module geïmporteerd zonder het versienummer te controleren.

Als u een minimale versie wilt opgeven, gebruikt u de parameter MinimumVersion . U kunt ook de module- en versieparameters van het trefwoord #Requires gebruiken om een specifieke versie van een module in een script te vereisen.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Scripts die RequiredVersion gebruiken om modules te importeren die zijn opgenomen in bestaande versies van het Windows-besturingssysteem, worden niet automatisch uitgevoerd in toekomstige versies van het Windows-besturingssysteem. Dit komt doordat powerShell-moduleversienummers in toekomstige versies van het Windows-besturingssysteem hoger zijn dan moduleversienummers in bestaande versies van het Windows-besturingssysteem.

Type:Version
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Scope

Hiermee geeft u een bereik op waarin de module moet worden geïmporteerd.

De aanvaardbare waarden voor deze parameter zijn:

  • Algemeen. Beschikbaar voor alle opdrachten in de sessie. Komt overeen met de parameter Global .
  • Lokaal. Alleen beschikbaar in het huidige bereik.

Import-Module Wanneer de cmdlet wordt aangeroepen vanaf de opdrachtprompt, het scriptbestand of de scriptblokkering, worden alle opdrachten standaard geïmporteerd in de globale sessiestatus. U kunt de -Scope Local parameter gebruiken om module-inhoud te importeren in het script- of scriptblokbereik.

Wanneer de cmdlet wordt aangeroepen vanuit een andere module, Import-Module importeert de cmdlet de opdrachten in een module, inclusief opdrachten van geneste modules, in de sessiestatus van de aanroeper. Als u -Scope Global opgeeft of -Global aangeeft dat deze cmdlet modules in de globale sessiestatus importeert, zodat deze beschikbaar zijn voor alle opdrachten in de sessie.

De globale parameter is gelijk aan de bereikparameter met de waarde Global.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:String
Geaccepteerde waarden:Local, Global
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-SkipEditionCheck

Slaat de controle op het CompatiblePSEditions veld over.

Hiermee kunt u een module uit de "$($env:windir)\System32\WindowsPowerShell\v1.0\Modules" modulemap laden in PowerShell Core wanneer deze module niet in het CompatiblePSEditions manifestveld wordt opgegevenCore.

Wanneer u een module importeert vanuit een ander pad, doet deze schakeloptie niets, omdat de controle niet wordt uitgevoerd. In Linux en macOS doet deze switch niets.

Zie about_PowerShell_Editions voor meer informatie.

Waarschuwing

Import-Module -SkipEditionCheck het importeren van een module is waarschijnlijk nog steeds mislukt. Zelfs als dit lukt, kan het aanroepen van een opdracht uit de module later mislukken wanneer een incompatibele API wordt gebruikt.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-UseWindowsPowerShell

De module wordt geladen met de compatibiliteitsfunctionaliteit van Windows PowerShell. Zie about_Windows_PowerShell_Compatibility voor meer informatie.

Type:SwitchParameter
Aliassen:UseWinPS
Position:Named
Default value:False
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Variable

Hiermee geeft u een matrix van variabelen op die met deze cmdlet worden geïmporteerd uit de module in de huidige sessie. Voer een lijst met variabelen in. Jokertekens zijn toegestaan.

Sommige modules exporteren automatisch geselecteerde variabelen naar uw sessie wanneer u de module importeert. Met deze parameter kunt u kiezen uit de geëxporteerde variabelen.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:True

Invoerwaarden

String

U kunt een modulenaam doorsluisen naar deze cmdlet.

PSModuleInfo

U kunt een moduleobject doorsluisen naar deze cmdlet.

Assembly

U kunt een assembly-object doorsluisen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert standaard geen uitvoer.

PSModuleInfo

Als u de parameter PassThru opgeeft, genereert de cmdlet een System.Management.Automation.PSModuleInfo-object dat de geïmporteerde module vertegenwoordigt.

PSCustomObject

Als u de parameters AsCustomObject en PassThru samen opgeeft, genereert de cmdlet een PSCustomObject-object dat de module vertegenwoordigt.

Notities

PowerShell bevat de volgende aliassen voor Import-Module:

  • Alle platformen:

    • ipmo
  • Voordat u een module kunt importeren, moet de module toegankelijk zijn voor uw lokale computer en zijn opgenomen in de PSModulePath omgevingsvariabele. Zie about_Modules voor meer informatie.

    U kunt ook de PSSession - en CIMSession-parameters gebruiken om modules te importeren die op externe computers zijn geïnstalleerd. Opdrachten die gebruikmaken van de cmdlets in deze modules worden echter uitgevoerd in de externe sessie op de externe computer.

  • Als u leden met dezelfde naam en hetzelfde type importeert in uw sessie, gebruikt PowerShell standaard het lid dat als laatste is geïmporteerd. Variabelen en aliassen worden vervangen en de originelen zijn niet toegankelijk. Functies, cmdlets en providers worden slechts in de schaduw van de nieuwe leden weergegeven. Ze kunnen worden geopend door de opdrachtnaam te kwalificeren met de naam van de module, module of functiepad.

  • Als u de opmaakgegevens wilt bijwerken voor opdrachten die zijn geïmporteerd uit een module, gebruikt u de Update-FormatData cmdlet. Als het opmaakbestand voor een module wordt gewijzigd, gebruikt u de Update-FormatData cmdlet om de opmaakgegevens voor geïmporteerde opdrachten bij te werken. U hoeft de module niet opnieuw te importeren.

  • Vanaf Windows PowerShell 3.0 worden de kernopdrachten die met PowerShell zijn geïnstalleerd, verpakt in modules. 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 door de New-PSSession cmdlet zijn gestart, zijn ook sessies in oudere stijl die kernmodules bevatten.

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

  • In Windows PowerShell 2.0 zijn sommige eigenschapswaarden van het moduleobject, zoals de eigenschapswaarden ExportedCmdlets en NestedModules , pas ingevuld als de module is geïmporteerd.

  • Als u probeert een module te importeren die assembly's in de gemengde modus bevat die niet compatibel zijn met Windows PowerShell 3.0+, Import-Module wordt een foutbericht geretourneerd, zoals de volgende.

    Import-Module: Assembly met gemengde modus is gebouwd op basis van versie v2.0.50727 van de runtime en kan niet worden geladen in de runtime 4.0 zonder aanvullende configuratiegegevens.

    Deze fout treedt op wanneer een module die is ontworpen voor Windows PowerShell 2.0 ten minste één assembly met gemengde modules bevat. Een assembly met gemengde modules die zowel beheerde als niet-beheerde code bevat, zoals C++ en C#.

    Als u een module met assembly's in de gemengde modus wilt importeren, start u Windows PowerShell 2.0 met behulp van de volgende opdracht en probeert u de Import-Module opdracht opnieuw.

    PowerShell.exe -Version 2.0

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

    U kunt de CIM-sessiefunctie gebruiken op computers waarop geen Windows-besturingssysteem wordt uitgevoerd en op Windows-computers met PowerShell, maar waarvoor 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 met PowerShell is ingeschakeld, inclusief de lokale computer. Wanneer u een CIM-sessie maakt op de lokale computer, gebruikt PowerShell DCOM in plaats van WMI om de sessie te maken.

  • Import-Module Standaard importeert u modules in het globale bereik, zelfs wanneer ze worden aangeroepen vanuit een afstammelingsbereik. Het bereik op het hoogste niveau en alle onderliggende bereiken hebben toegang tot de geëxporteerde elementen van de module.

    In een afstammelingsbereik beperkt -Scope Local u het importeren tot dat bereik en alle onderliggende bereiken. Bovenliggende bereiken zien de geïmporteerde leden vervolgens niet.

    Notitie

    Get-Module toont alle modules die in de huidige sessie zijn geladen. Dit omvat modules die lokaal in een afstammelingsbereik zijn geladen. Gebruik Get-Command -Module modulename dit om te zien welke leden in het huidige bereik worden geladen.

  • Import-Module laadt geen klasse- en opsommingsdefinities in de module. Gebruik de using module instructie aan het begin van het script. Hiermee importeert u de module, inclusief de klasse- en opsommingsdefinities. Zie about_Using voor meer informatie.

  • Tijdens het ontwikkelen van een scriptmodule is het gebruikelijk om wijzigingen aan te brengen in de code en vervolgens de nieuwe versie van de module te laden met behulp van Import-Module de parameter Force . Dit werkt alleen voor wijzigingen in functies in de hoofdmodule. Import-Module laadt geen geneste modules opnieuw. Er is ook geen manier om bijgewerkte klassen of opsommingen te laden.

    Als u bijgewerkte moduleleden wilt ophalen die zijn gedefinieerd in geneste modules, verwijdert u de module met Remove-Moduleen importeert u de module opnieuw.

    Als de module is geladen met een using instructie, moet u een nieuwe sessie starten om bijgewerkte definities voor de klassen en opsommingen te importeren. Klassen en opsommingen die zijn gedefinieerd in PowerShell en geïmporteerd met een using instructie, kunnen niet worden uitgepakt.