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]
[-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]
[-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]
[-PassThru]
[-AsCustomObject]
[-MinimumVersion <Version>]
[-MaximumVersion <String>]
[-RequiredVersion <Version>]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
-CimSession <CimSession>
[-CimResourceUri <Uri>]
[-CimNamespace <String>]
[<CommonParameters>]
Import-Module
[-Global]
[-Prefix <String>]
[-FullyQualifiedName] <ModuleSpecification[]>
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-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]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
-PSSession <PSSession>
[<CommonParameters>]
Import-Module
[-Global]
[-Prefix <String>]
[-Assembly] <Assembly[]>
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
Import-Module
[-Global]
[-Prefix <String>]
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-PassThru]
[-AsCustomObject]
[-ModuleInfo] <PSModuleInfo[]>
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
Description
De cmdlet Import-Module
voegt een of meer modules toe aan de huidige sessie. De modules die u importeert, moeten worden geïnstalleerd op de lokale computer of een externe computer.
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 opdracht Import-Module
gebruiken om een module te importeren en u kunt het automatisch importeren van modules in- en uitschakelen met behulp van de $PSModuleAutoloadingPreference
voorkeursvariabele. Zie about_Modulesvoor meer informatie over modules. Zie about_Preference_Variablesvoor meer informatie over de variabele $PSModuleAutoloadingPreference
.
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.
Als u een module wilt importeren, gebruikt u de Name, Assembly, ModuleInfo, MinimumVersion en RequiredVersion parameters om de te importeren module te identificeren. Standaard importeert Import-Module
alle leden die de module exporteert, maar u kunt de parameters Alias, Function, Cmdleten Variable parameters gebruiken om de geïmporteerde leden te beperken. U kunt ook de parameter NoClobber gebruiken om te voorkomen dat Import-Module
leden importeert die dezelfde namen hebben als leden in de huidige sessie.
Import-Module
importeert een module alleen in de huidige sessie. Als u de module in alle sessies wilt importeren, voegt u een Import-Module
opdracht toe aan uw PowerShell-profiel. Zie about_Profilesvoor meer informatie over profielen.
Vanaf Windows PowerShell 3.0 kunt u Import-Module
gebruiken om CIM-modules (Common Information Model) te importeren, waarin de cmdlets zijn gedefinieerd 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++.
Met deze nieuwe functies wordt Import-Module
cmdlet een primair hulpprogramma voor het beheren van heterogene ondernemingen die computers met het Windows-besturingssysteem en computers waarop andere besturingssystemen worden uitgevoerd.
Als u externe computers wilt beheren waarop het Windows-besturingssysteem wordt uitgevoerd waarvoor externe communicatie met PowerShell en PowerShell is ingeschakeld, maakt u een PSSession- op de externe computer en gebruikt u vervolgens de PSSession-parameter van Get-Module
om de PowerShell-modules op te halen in de PSSession-. Wanneer u de modules importeert en vervolgens de geïmporteerde opdrachten in de huidige sessie gebruikt, worden de opdrachten impliciet uitgevoerd in de PSSession- op de externe computer. U kunt deze strategie gebruiken om de externe computer te beheren.
U kunt een vergelijkbare strategie gebruiken om computers te beheren waarvoor externe communicatie met PowerShell niet is ingeschakeld, inclusief computers waarop het Windows-besturingssysteem niet wordt uitgevoerd en Windows-computers met PowerShell, maar waarvoor externe communicatie met PowerShell niet is ingeschakeld.
Maak eerst een CIM-sessie op de externe computer. Dit is een verbinding met Windows Management Instrumentation (WMI) op de externe computer. Gebruik vervolgens de parameter CIMSession van Import-Module
om CIM-modules van de externe computer te importeren. Wanneer u een CIM-module importeert 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: 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. De parameternaam Name is optioneel en kan worden weggelaten.
Import-Module -Name PSDiagnostics
Standaard genereert Import-Module
geen uitvoer wanneer een module wordt geïmporteerd. Als u uitvoer wilt aanvragen, gebruikt u de parameter PassThru of AsCustomObject of de uitgebreide algemene parameter.
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 omgevingsvariabele $env:PSModulePath
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 cmdlet Get-Module
haalt de PSDiagnostics en Dism modules op en slaat de objecten op in de variabele $m
. 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.
Deze opdrachten zijn gelijk aan het gebruik van een pijplijnoperator (|
) om de uitvoer van een Get-Module
opdracht naar Import-Module
te verzenden.
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 uitgebreide, PassThru-of parameter AsCustomObject, genereert Import-Module
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.
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 de eerste opdracht worden alleen de Disable-PSTrace
- en Enable-PSTrace
-cmdlets uit de PSDiagnostics-module geïmporteerd. De parameter Function beperkt de leden die uit de module worden geïmporteerd. U kunt ook de parameters Alias, Variabeleen cmdlet parameters gebruiken om andere leden te beperken die door een module worden geïmporteerd.
Met de Get-Module
cmdlet wordt het object opgehaald dat de PSDiagnostics module vertegenwoordigt. De eigenschap ExportedCmdlets bevat alle cmdlets die de module exporteert, ook al zijn ze niet allemaal geïmporteerd.
In de derde opdracht haalt de module parameter van de Get-Command
cmdlet de opdrachten op 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. Het voorvoegsel is alleen van toepassing op de leden in de huidige sessie. De module wordt niet gewijzigd.
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
De parameter voorvoegsel van Import-Module
voegt het voorvoegsel x toe aan alle leden die zijn geïmporteerd uit de module en de parameter PassThru om een moduleobject te retourneren dat de geïmporteerde module vertegenwoordigt.
De Get-Command
cmdlet om de leden op te halen 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
Deze opdrachten laten zien hoe u het aangepaste object kunt ophalen en gebruiken dat Import-Module retourneert.
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 erg 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 kan alleen worden gebruikt bij het importeren van een scriptmodule. De eerste taak is dus 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 eerste opdracht maakt gebruik van de Get-Module
cmdlet om de beschikbare modules op te halen. De opdracht maakt gebruik van een pijplijnoperator om de moduleobjecten door te geven aan de cmdlet Format-Table
, waarin de Name en ModuleType van elke module in een tabel worden vermeld.
Met de tweede opdracht wordt de Import-Module
-cmdlet gebruikt om de scriptmodule Show-Calendar te importeren.
De opdracht gebruikt de parameter AsCustomObject om een aangepast object aan te vragen en de parameter PassThru om het object te retourneren. Met de opdracht wordt het resulterende aangepaste object opgeslagen in de variabele $a
.
De derde opdracht maakt gebruik van een pijplijnoperator om de variabele $a
te verzenden naar de cmdlet Get-Member
, waarmee de eigenschappen en methoden van de PSCustomObject- in $a
worden opgehaald. De uitvoer toont een Show-Calendar() scriptmethode.
De laatste opdracht maakt gebruik van de scriptmethode Show-Calendar. De naam van de methode moet tussen aanhalingstekens staan, omdat deze een afbreekstreepje bevat.
Voorbeeld 8: Een module opnieuw importeren in dezelfde sessie
In dit voorbeeld ziet u hoe u de parameter Force van Import-Module
gebruikt wanneer u een module opnieuw in dezelfde sessie importeert.
Import-Module PSDiagnostics
Import-Module PSDiagnostics -Force -Prefix PS
Met de eerste opdracht importeert u de PSDiagnostics module. Met de tweede opdracht wordt de module opnieuw geïmporteerd, deze keer met behulp van de parameter voorvoegsel.
Met behulp van de parameter Force verwijdert Import-Module
de module en importeert u deze opnieuw. Zonder deze parameter 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 met de naam Get-Date
die 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:26:12 PM
De eerste get-datecmdlet returns a **DateTime** object with the current date. After importing the **TestModule** module,
Retourneert het jaar en de dag van het jaar.
Met behulp van de parameter Alle van de Get-Command
krijgen we alle Get-Date
opdrachten in de sessie. De resultaten tonen aan dat er twee Get-Date
opdrachten in de sessie zijn, een functie uit de module TestModule en een cmdlet uit de microsoft.PowerShell.Utility-module.
Omdat functies voorrang hebben op cmdlets, wordt de Get-Date
-functie van de TestModule-module uitgevoerd in plaats van de Get-Date
-cmdlet. Als u de oorspronkelijke versie van Get-Date
wilt uitvoeren, moet u de opdrachtnaam kwalificeren met de modulenaam.
Zie about_Command_Precedencevoor meer informatie over de prioriteit van opdrachten in PowerShell.
Voorbeeld 10: Een minimale versie van een module importeren
Import-Module -Name PSWorkflow -MinimumVersion 3.0.0.0
Met deze opdracht importeert u de module PSWorkflow. Hierbij wordt de parameter MinimumVersion van Import-Module
gebruikt om alleen versie 3.0.0.0 of hoger van de module te importeren.
U kunt ook de parameter RequiredVersion gebruiken om een bepaalde versie van een module te importeren of de parameters Module en Version van het trefwoord #Requires
te gebruiken om een bepaalde versie van een module in een script te vereisen.
Voorbeeld 11: Een module importeren vanaf een externe computer
In dit voorbeeld ziet u hoe u de Import-Module
-cmdlet gebruikt om een module van een externe computer te importeren.
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 daadwerkelijk 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
De eerste opdracht maakt gebruik van de New-PSSession
cmdlet om een externe sessie (PSSession) te maken op de Server01-computer. Met de opdracht wordt de PSSession- opgeslagen in de variabele $s
.
De tweede opdracht maakt gebruik van de PSSession parameter van de Get-Module
cmdlet om de NetSecurity module op te halen in de sessie in de $s
variabele. Deze opdracht is gelijk aan het gebruik van de Invoke-Command
cmdlet om een Get-Module
opdracht uit te voeren in de sessie in $s
(Invoke-Command $s {Get-Module -ListAvailable -Name NetSecurity
). In de uitvoer ziet u dat de module NetSecurity op de computer is geïnstalleerd en beschikbaar is voor de sessie in de $s
variabele.
De derde opdracht maakt gebruik van de PSSession parameter van de Import-Module
cmdlet voor het importeren van de NetSecurity module uit de sessie in de $s
variabele in de huidige sessie.
De vierde opdracht maakt gebruik van de cmdlet Get-Command
om opdrachten op te halen die beginnen met Get en Firewall uit de module NetSecurity op te nemen. De uitvoer haalt de opdrachten op en bevestigt dat de module en de bijbehorende cmdlets zijn geïmporteerd in de huidige sessie.
De vijfde opdracht maakt gebruik van de Get-NetFirewallRule
-cmdlet om firewallregels voor Windows Remote Management op te halen op de Server01-computer. Deze opdracht is gelijk aan het gebruik van de Invoke-Command
cmdlet om een Get-NetFirewallRule
opdracht uit te voeren op de sessie in de $s
variabele.
Voorbeeld 12: Opslag beheren op een externe computer zonder het Windows-besturingssysteem
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.
Met de opdrachten in dit voorbeeld kunt u de opslagsystemen beheren van een externe computer waarop het Windows-besturingssysteem niet wordt uitgevoerd.
De eerste opdracht maakt gebruik van 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 variabele $cs
.
De tweede opdracht maakt gebruik van de CIM-sessie in de $cs
variabele om een Import-Module
opdracht uit te voeren op de RSDGF03 computer. De opdracht gebruikt de parameter Name om de CIM-module Storage op te geven.
Met de derde opdracht wordt de opdracht Get-Command
uitgevoerd op de opdracht Get-Disk
in de module Storage. 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.
Met de vierde opdracht wordt de Get-Disk
opdracht uitgevoerd. Hoewel de opdracht is getypt in de lokale sessie, wordt deze impliciet uitgevoerd op de externe computer van waaruit deze is geïmporteerd. Met de opdracht worden objecten van de externe computer opgehaald en geretourneerd 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 opdracht Import-Module
worden doorgegeven aan een scriptmodule. Deze parameter is alleen geldig wanneer u een scriptmodule importeert.
U kunt ook verwijzen naar de parameter ArgumentList door de alias, args. Zie about_Aliasesvoor meer informatie.
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
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
gebruikt de CIM-sessieverbinding om modules van de externe computer in de huidige sessie te importeren. Wanneer u 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 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 wordt geladen of opnieuw wordt geladen boven aan de huidige
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-FullyQualifiedName
Hiermee geeft u de volledig gekwalificeerde naam van de modulespecificatie.
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 ze beschikbaar zijn voor alle opdrachten in de sessie.
Wanneer Import-Module
cmdlet standaard wordt aangeroepen vanaf de opdrachtprompt, het scriptbestand of de scriptblokkering, worden alle opdrachten geïmporteerd in de globale sessiestatus.
Wanneer deze wordt aangeroepen vanuit een andere module, importeert Import-Module
cmdlet de opdrachten in een module, inclusief opdrachten van geneste modules, in de sessiestatus van de aanroeper.
Fooi
Vermijd het aanroepen van 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 parameter Global is gelijk aan de parameter Bereik 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, genereert Import-Module
een fout.
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 wordt alleen een versie van de module geïmporteerd die groter is dan of gelijk is aan de opgegeven waarde. Als er geen versie in aanmerking komt, genereert Import-Module
een fout.
Standaard importeert Import-Module
de module zonder het versienummer te controleren.
Gebruik de MinimumVersion parameternaam of de bijbehorende alias, versie.
Als u een exacte versie wilt opgeven, gebruikt u de parameter RequiredVersion. U kunt ook de parameters Module en Versie 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 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-, .dll- of ps1-bestand. Bestandspaden zijn optioneel. Jokertekens zijn niet toegestaan. U kunt ook modulenamen en bestandsnamen doorsluisen naar Import-Module
.
Als u een pad weglaat, zoekt Import-Module
naar de module in de paden die zijn opgeslagen in de omgevingsvariabele $env:PSModulePath
.
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.
Type: | String[] |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | True |
-NoClobber
Geeft aan dat deze cmdlet geen opdrachten importeert die dezelfde namen hebben als bestaande opdrachten in de huidige sessie. Standaard importeert Import-Module
alle geëxporteerde moduleopdrachten.
Opdrachten met dezelfde namen kunnen opdrachten in de sessie verbergen of vervangen. Gebruik de parameters voorvoegsel of NoClobber parameters om conflicten met opdrachtnamen in een sessie te voorkomen. Zie modules en naamconflicten in about_Modules en about_Command_Precedencevoor 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 het item aangeeft waarmee u werkt. 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, is de cmdlet bekend in de sessie als Get-UTCDate
en wordt deze niet verward met de oorspronkelijke Get-Date
cmdlet.
De waarde van deze parameter heeft voorrang op de eigenschap DefaultCommandPrefix eigenschap 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 waarmee een PSSession-wordt 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 daadwerkelijk 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 is gelijk aan het gebruik van de cmdlet Import-PSSession
om bepaalde modules uit een sessie te importeren.
Import-Module
kan PowerShell Core-modules niet importeren uit een andere sessie. De PowerShell Core-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, genereert Import-Module
een fout.
Standaard importeert Import-Module
de module zonder het versienummer te controleren.
Als u een minimale versie wilt opgeven, gebruikt u de parameter MinimumVersion. U kunt ook de parameters Module en Versie 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 gebruikmaken van RequiredVersion 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 deze cmdlet de module importeert.
De acceptabele waarden voor deze parameter zijn:
- Global. Beschikbaar voor alle opdrachten in de sessie. Gelijk aan de parameter Global.
- lokale. Alleen beschikbaar in het huidige bereik.
Wanneer Import-Module
cmdlet standaard wordt aangeroepen vanaf de opdrachtprompt, het scriptbestand of de scriptblokkering, worden alle opdrachten geïmporteerd in de globale sessiestatus. U kunt de parameter -Scope gebruiken met de waarde van Local om module-inhoud te importeren in het script- of scriptblockbereik.
Wanneer deze wordt aangeroepen vanuit een andere module, importeert Import-Module
cmdlet de opdrachten in een module, inclusief opdrachten van geneste modules, in de sessiestatus van de aanroeper. Als u -Scope Global
of -Global
opgeeft, wordt aangegeven dat deze cmdlet modules importeert in de globale sessiestatus, zodat deze beschikbaar zijn voor alle opdrachten in de sessie.
De parameter Global is gelijk aan de parameter Bereik met de waarde Global.
Deze parameter is geïntroduceerd in Windows PowerShell 3.0.
Type: | String |
Geaccepteerde waarden: | Local, Global |
Position: | Named |
Default value: | Current scope |
Vereist: | False |
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
System.String, System.Management.Automation.PSModuleInfo, System.Reflection.Assembly
U kunt een modulenaam, moduleobject of assemblyobject doorsluisen naar deze cmdlet.
Uitvoerwaarden
None, System.Management.Automation.PSModuleInfo, or System.Management.Automation.PSCustomObject
Met deze cmdlet wordt een PSModuleInfo- of PSCustomObjectgeretourneerd. Standaard genereert Import-Module
geen uitvoer. Als u de parameter PassThru opgeeft, genereert de cmdlet een System.Management.Automation.PSModuleInfo object dat de module vertegenwoordigt. Als u de parameter
Notities
Voordat u een module kunt importeren, moet de module op de lokale computer worden geïnstalleerd. Dat wil gezegd: de modulemap moet worden gekopieerd naar een map die toegankelijk is voor uw lokale computer. Zie about_Modulesvoor meer informatie.
U kunt ook de PSSession- en CIMSession-parameters gebruiken om modules te importeren die op externe computers zijn geïnstalleerd. Opdrachten die de cmdlets in deze modules gebruiken, worden echter daadwerkelijk 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 cmdlet
Update-FormatData
.Update-FormatData
werkt ook de opmaakgegevens bij voor opdrachten in de sessie die zijn geïmporteerd uit modules. Als het opmaakbestand voor een module wordt gewijzigd, kunt u eenUpdate-FormatData
opdracht uitvoeren 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 belangrijkste opdrachten 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. Ook zijn externe sessies, zoals sessies die zijn gestart door de
New-PSSession
-cmdlet, oudere sessies met kernmodules.Zie de methode
CreateDefault2 voor informatie over de methodeCreateDefault2 waarmee nieuwere sessies met kernmodules worden gemaakt. Import-Module
kan PowerShell Core-modules niet importeren uit een andere sessie. De PowerShell Core-modules hebben namen die beginnen met Microsoft.PowerShell.In Windows PowerShell 2.0 zijn sommige eigenschapswaarden van het moduleobject, zoals de ExportedCmdlets en NestedModules eigenschapswaarden, pas ingevuld nadat de module is geïmporteerd en niet beschikbaar zijn in het moduleobject dat de parameter PassThru retourneert. In Windows PowerShell 3.0 worden alle eigenschapswaarden van de module ingevuld.
Als u probeert een module te importeren die assembly's in gemengde modus bevat die niet compatibel zijn met Windows PowerShell 3.0, retourneert
Import-Module
een foutbericht 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 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 opdracht
Import-Module
opnieuw.PowerShell.exe -Version 2.0
Als u de CIM-sessiefunctie wilt gebruiken, moet de externe computer beschikken over 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 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.