Import-Module
Fügt der aktuellen Sitzung Module hinzu.
Syntax
Name (Standard)
Import-Module
[-Name] <String[]>
[-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>]
PSSession
Import-Module
[-Name] <String[]>
-PSSession <PSSession>
[-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>]
CimSession
Import-Module
[-Name] <String[]>
-CimSession <CimSession>
[-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>]
[-CimResourceUri <Uri>]
[-CimNamespace <String>]
[<CommonParameters>]
FullyQualifiedName
Import-Module
[-FullyQualifiedName] <ModuleSpecification[]>
[-Global]
[-Prefix <String>]
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
FullyQualifiedNameAndPSSession
Import-Module
[-FullyQualifiedName] <ModuleSpecification[]>
-PSSession <PSSession>
[-Global]
[-Prefix <String>]
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
Assembly
Import-Module
[-Assembly] <Assembly[]>
[-Global]
[-Prefix <String>]
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
ModuleInfo
Import-Module
[-ModuleInfo] <PSModuleInfo[]>
[-Global]
[-Prefix <String>]
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
Beschreibung
Das Cmdlet Import-Module fügt der aktuellen Sitzung mindestens ein Modul hinzu. Die importierten Module müssen auf dem lokalen Computer oder einem Remotecomputer installiert sein.
Ab PowerShell 3.0 werden installierte Module automatisch in die Sitzung importiert, wenn Sie Befehle oder Anbieter im Modul verwenden. Sie können jedoch weiterhin den Befehl Import-Module verwenden, um ein Modul zu importieren, und Sie können den automatischen Modulimport mithilfe der $PSModuleAutoloadingPreference Einstellungsvariable aktivieren und deaktivieren. Weitere Informationen zu Modulen finden Sie unter about_Modules. Weitere Informationen zur Variable $PSModuleAutoloadingPreference finden Sie unter about_Preference_Variables.
Ein Modul ist ein Paket, das Elemente enthält, die in PowerShell verwendet werden können. Mitglieder umfassen Cmdlets, Anbieter, Skripts, Funktionen, Variablen und andere Tools und Dateien. Nachdem ein Modul importiert wurde, können Sie die Modulmitglieder in Ihrer Sitzung verwenden.
Verwenden Sie zum Importieren eines Moduls die Parameter Name, Assembly, ModuleInfo, MinimumVersion und RequiredVersion, um das zu importierende Modul zu identifizieren. Standardmäßig werden alle Member importiert, Import-Module die vom Modul exportiert werden, aber Sie können die Parameter Alias, Function, Cmdlet und Variable verwenden, um die importierten Member einzuschränken. Sie können auch den NoClobber-Parameter verwenden, um zu verhindern Import-Module , dass Member importiert werden, die dieselben Namen wie Member in der aktuellen Sitzung haben.
Import-Module importiert ein Modul nur in die aktuelle Sitzung. Um das Modul in alle Sitzungen zu importieren, fügen Sie Ihrem PowerShell-Profil einen Import-Module Befehl hinzu. Weitere Informationen zu Profilen finden Sie unter about_Profiles.
Ab Windows PowerShell 3.0 können Sie Import-Module verwenden, um Common Information Model (CIM)-Module zu importieren, in denen die Cmdlets in DEN XML-Dateien (Cmdlet Definition XML) definiert sind. Mit diesem Feature können Sie Cmdlets verwenden, die in nicht verwalteten Codeassemblys implementiert sind, z. B. in C++ geschriebene.
Mit diesen neuen Features wird Import-Module Cmdlet zu einem primären Tool für die Verwaltung heterogener Unternehmen, die Computer enthalten, die das Windows-Betriebssystem und Computer ausführen, auf denen andere Betriebssysteme ausgeführt werden.
Um Remotecomputer zu verwalten, auf denen das Windows-Betriebssystem ausgeführt wird, auf denen PowerShell und PowerShell-Remoting aktiviert sind, erstellen Sie eine PSSession auf dem Remotecomputer, und verwenden Sie dann den PSSession-Parameter von Get-Module , um die PowerShell-Module in der PSSession abzurufen. Wenn Sie die Module importieren und dann die importierten Befehle in der aktuellen Sitzung verwenden, werden die Befehle implizit im PSSession- auf dem Remotecomputer ausgeführt. Sie können diese Strategie verwenden, um den Remotecomputer zu verwalten.
Sie können eine ähnliche Strategie verwenden, um Computer zu verwalten, für die PowerShell-Remoting nicht aktiviert ist, einschließlich Computer, auf denen das Windows-Betriebssystem nicht ausgeführt wird, und Windows-Computer, auf denen PowerShell aktiviert ist, für die PowerShell jedoch nicht aktiviert ist.
Erstellen Sie zunächst eine CIM-Sitzung auf dem Remotecomputer, bei der es sich um eine Verbindung mit der Windows-Verwaltungsinstrumentation (WMI) auf dem Remotecomputer handelt. Verwenden Sie dann den CIMSession Parameter von Import-Module, um CIM-Module vom Remotecomputer zu importieren. Wenn Sie ein CIM-Modul importieren und dann die importierten Befehle ausführen, werden die Befehle implizit auf dem Remotecomputer ausgeführt. Sie können diese WMI- und CIM-Strategie verwenden, um den Remotecomputer zu verwalten.
Beispiele
Beispiel 1: Importieren der Member eines Moduls in die aktuelle Sitzung
In diesem Beispiel werden die Member des PSDiagnostics Moduls in die aktuelle Sitzung importiert. Der Name Parametername ist optional und kann weggelassen werden.
Import-Module -Name PSDiagnostics
Standardmäßig generiert Import-Module keine Ausgabe, wenn ein Modul importiert wird. Um die Ausgabe anzufordern, verwenden Sie den PassThru oder AsCustomObject Parameter oder den Verbose allgemeinen Parameter.
Beispiel 2: Importieren aller vom Modulpfad angegebenen Module
In diesem Beispiel werden alle verfügbaren Module im Pfad importiert, der durch die $env:PSModulePath Umgebungsvariable in die aktuelle Sitzung angegeben wird.
Get-Module -ListAvailable | Import-Module
Beispiel 3: Importieren der Mitglieder mehrerer Module in die aktuelle Sitzung
In diesem Beispiel werden die Member der PSDiagnostics und Dism Module in die aktuelle Sitzung importiert.
$m = Get-Module -ListAvailable PSDiagnostics, Dism
Import-Module -ModuleInfo $m
Das cmdlet Get-Module ruft die PSDiagnostics und Dism Module ab und speichert die Objekte in der variablen $m. Der Parameter ListAvailable ist erforderlich, wenn Sie Module abrufen, die noch nicht in die Sitzung importiert wurden.
Der ModuleInfo Parameter von Import-Module wird verwendet, um die Module in die aktuelle Sitzung zu importieren.
Diese Befehle entsprechen der Verwendung eines Pipeline-Operators (|), um die Ausgabe eines Get-Module Befehls an Import-Modulezu senden.
Beispiel 4: Importieren aller module, die durch einen Pfad angegeben wurden
In diesem Beispiel wird ein expliziter Pfad verwendet, um das zu importierende Modul zu identifizieren.
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'.
Die Verwendung des Verbose--Parameters bewirkt, dass Import-Module den Fortschritt beim Laden des Moduls melden.
Ohne den AusführlichkeitsparameterPassThru oder Import-Module wird beim Importieren eines Moduls keine Ausgabe generiert.
Beispiel 5: Einschränken von Modulmembern, die in eine Sitzung importiert wurden
In diesem Beispiel wird gezeigt, wie Sie einschränken, welche Modulmitglieder in die Sitzung importiert werden, und wie sich dieser Befehl auf die Sitzung auswirkt.
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
Mit dem ersten Befehl werden nur die Disable-PSTraceEnable-PSTrace und-Cmdlets aus dem PSDiagnostics-Modul importiert. Der parameter Function beschränkt die Elemente, die aus dem Modul importiert werden. Sie können auch die Parameter Alias, Variableund Cmdlet Parameter verwenden, um andere Elemente einzuschränken, die ein Modul importiert.
Das cmdlet Get-Module ruft das Objekt ab, das das PSDiagnostics Modul darstellt. Die ExportedCmdlets-Eigenschaft listet alle Cmdlets auf, die das Modul exportiert, auch wenn sie nicht alle importiert wurden.
Im dritten Befehl ruft der Parameter Module des Get-Command Cmdlets die Befehle ab, die aus dem PSDiagnostics Modul importiert wurden. Die Ergebnisse bestätigen, dass nur die cmdlets Disable-PSTrace und Enable-PSTrace importiert wurden.
Beispiel 6: Importieren der Member eines Moduls und Hinzufügen eines Präfixes
In diesem Beispiel wird das PSDiagnostics Modul in die aktuelle Sitzung importiert, der Elementnamen ein Präfix hinzugefügt und dann die präfixierten Membernamen angezeigt. Das Präfix gilt nur für die Mitglieder in der aktuellen Sitzung. Das Modul wird nicht geändert.
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
Er verwendet den Prefix-Parameter von Import-Modulefügt allen Membern, die aus dem Modul importiert werden, das x-Präfix hinzu, und den PassThru-Parameter , um ein Modulobjekt zurückzugeben, das das importierte Modul darstellt.
Das Get-Command Cmdlet zum Abrufen der Member, die aus dem Modul importiert wurden. Die Ausgabe zeigt, dass die Modulmmber richtig vorangestellt wurden.
Beispiel 7: Abrufen und Verwenden eines benutzerdefinierten Objekts
Diese Befehle veranschaulichen, wie das benutzerdefinierte Objekt, das Import-Module zurückgibt, abgerufen und verwendet wird.
Benutzerdefinierte Objekte enthalten synthetische Member, die jedes der importierten Modulelemente darstellen. Beispielsweise werden die Cmdlets und Funktionen in einem Modul in Skriptmethoden des benutzerdefinierten Objekts konvertiert.
Benutzerdefinierte Objekte sind bei der Skripterstellung sehr nützlich. Sie sind auch hilfreich, wenn mehrere importierte Objekte dieselben Namen haben. Die Verwendung der Skriptmethode eines Objekts entspricht dem Angeben des vollqualifizierten Namens eines importierten Elements, einschließlich des Modulnamens.
Der Parameter AsCustomObject kann nur beim Importieren eines Skriptmoduls verwendet werden, daher besteht die erste Aufgabe darin, zu bestimmen, welches der verfügbaren Module ein Skriptmodul ist.
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"()
Der erste Befehl verwendet das Get-Module Cmdlet, um die verfügbaren Module abzurufen. Der Befehl verwendet einen Pipelineoperator, um die Modulobjekte an das Format-Table Cmdlet zu übergeben, das den Namen und den ModuleType jedes Moduls in einer Tabelle auflistet.
Der zweite Befehl verwendet das Import-Module Cmdlet, um das Skriptmodul Show-Calendar zu importieren.
Der Befehl verwendet den AsCustomObject-Parameter , um ein benutzerdefiniertes Objekt anzufordern, und den PassThru-Parameter , um das Objekt zurückzugeben. Der Befehl speichert das resultierende benutzerdefinierte Objekt in der $a Variablen.
Der dritte Befehl verwendet einen Pipelineoperator, um die $a Variable an das Get-Member Cmdlet zu senden, das die Eigenschaften und Methoden von PSCustomObject in $aabruft. Die Ausgabe zeigt eine Show-Calendar()- Skriptmethode.
Im letzten Befehl wird die Skriptmethode Show-Calendar verwendet. Der Methodenname muss in Anführungszeichen eingeschlossen werden, da er einen Bindestrich enthält.
Beispiel 8: Erneutes Importieren eines Moduls in dieselbe Sitzung
In diesem Beispiel wird gezeigt, wie Sie den Force-ParameterImport-Module verwenden, wenn Sie ein Modul erneut in dieselbe Sitzung importieren.
Import-Module PSDiagnostics
Import-Module PSDiagnostics -Force -Prefix PS
Der erste Befehl importiert das PSDiagnostics Modul. Der zweite Befehl importiert das Modul erneut, diesmal mit dem parameter Prefix.
Entfernt das Modul mit dem Parameter Import-Module und importiert es erneut. Ohne diesen Parameter würde die Sitzung zwei Kopien jedes PSDiagnostics-Cmdlets enthalten, eine mit dem Standardnamen und eine mit dem Namen mit dem Präfix.
Beispiel 9: Ausführen von Befehlen, die durch importierte Befehle ausgeblendet wurden
In diesem Beispiel wird gezeigt, wie Befehle ausgeführt werden, die von importierten Befehlen ausgeblendet wurden. Das TestModule-Modul . Enthält eine benannte Funktion Get-Date , die das Jahr und den Tag des Jahres zurückgibt.
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
Das erste Get-Datecmdlet returns a **DateTime** object with the current date. After importing the **TestModule** module,'Get-Date' gibt das Jahr und den Tag des Jahres zurück.
Mit dem All-Parameter von rufen Get-Command wir alle Get-Date Befehle in der Sitzung ab. Die Ergebnisse zeigen, dass es zwei Get-Date Befehle in der Sitzung gibt, eine Funktion aus dem TestModule Modul und ein Cmdlet aus dem Microsoft.PowerShell.Utility Modul.
Da Funktionen Vorrang vor Cmdlets haben, wird die Get-Date-Funktion aus dem TestModule Modul ausgeführt, anstelle des cmdlets Get-Date. Um die Originalversion von Get-Date auszuführen, müssen Sie den Befehlsnamen mit dem Modulnamen qualifizieren.
Weitere Informationen zur Rangfolge von Befehlen in PowerShell finden Sie unter about_Command_Precedence.
Beispiel 10: Importieren einer Mindestversion eines Moduls
Import-Module -Name PSWorkflow -MinimumVersion 3.0.0.0
Mit diesem Befehl wird das PSWorkflow-Modul importiert. Der MinimumVersion-Parameter von Import-Module wird verwendet, um nur die Version 3.0.0.0 oder höher des Moduls zu importieren.
Sie können auch den parameter RequiredVersion verwenden, um eine bestimmte Version eines Moduls zu importieren, oder die parameter Module und Version Parameter des schlüsselworts #Requires verwenden, um eine bestimmte Version eines Moduls in einem Skript zu erfordern.
Beispiel 11: Importieren eines Moduls von einem Remotecomputer
In diesem Beispiel wird gezeigt, wie Sie das cmdlet Import-Module verwenden, um ein Modul von einem Remotecomputer zu importieren.
Dieser Befehl verwendet das Feature "Implizites Remoting" von PowerShell.
Wenn Sie Module aus einer anderen Sitzung importieren, können Sie die Cmdlets in der aktuellen Sitzung verwenden. Befehle, die die Cmdlets verwenden, werden jedoch tatsächlich in der Remotesitzung ausgeführt.
$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
Im ersten Befehl wird das New-PSSession Cmdlet verwendet, um eine Remotesitzung (PSSession) mit dem Computer Server01 zu erstellen. Der Befehl speichert die PSSession- in der variablen $s.
Der zweite Befehl verwendet den PSSession-Parameter des Get-Module Cmdlets, um das NetSecurity-Modul in der Sitzung in der $s Variablen abzurufen. Dieser Befehl entspricht der Verwendung des Invoke-Command Cmdlets zum Ausführen eines Get-Module Befehls in der Sitzung in $s (Invoke-Command $s {Get-Module -ListAvailable -Name NetSecurity). Die Ausgabe zeigt, dass das NetSecurity-Modul auf dem Computer installiert ist und für die Sitzung in der $s Variablen verfügbar ist.
Der dritte Befehl verwendet den PSSession-Parameter des Import-Module Cmdlets, um das NetSecurity-Modul aus der Sitzung in der $s Variablen in die aktuelle Sitzung zu importieren.
Der vierte Befehl verwendet das Get-Command Cmdlet zum Abrufen von Befehlen, die mit Get beginnen und Firewall aus dem NetSecurity-Modul einschließen. Die Ausgabe ruft die Befehle ab und bestätigt, dass das Modul und seine Cmdlets in die aktuelle Sitzung importiert wurden.
Beim fünften Befehl wird das Get-NetFirewallRule Cmdlet verwendet, um Firewallregeln für die Windows-Remoteverwaltung auf dem Computer Server01 abzurufen. Dieser Befehl entspricht der Verwendung des Invoke-Command Cmdlets zum Ausführen eines Get-NetFirewallRule Befehls für die Sitzung in der $s Variablen.
Beispiel 12: Verwalten des Speichers auf einem Remotecomputer ohne windows-Betriebssystem
Da in diesem Beispiel der Administrator des Computers den Modulermittlungs-WMI-Anbieter installiert hat, können die CIM-Befehle die Standardwerte verwenden, die für den Anbieter entwickelt wurden.
Mit den Befehlen in diesem Beispiel können Sie die Speichersysteme eines Remotecomputers verwalten, auf dem das Windows-Betriebssystem nicht ausgeführt wird.
Der erste Befehl verwendet das cmdlet New-CimSession zum Erstellen einer Sitzung auf dem RSDGF03 Remotecomputer. Die Sitzung stellt eine Verbindung mit WMI auf dem Remotecomputer hergestellt. Der Befehl speichert die CIM-Sitzung in der variablen $cs.
Der zweite Befehl verwendet die CIM-Sitzung in der $cs Variablen, um einen Import-Module Befehl auf dem RSDGF03 Computer auszuführen. Der Befehl verwendet den Parameter Name , um das Storage CIM-Modul anzugeben.
Der dritte Befehl führt den Get-Command Befehl für den Get-Disk Befehl im Speichermodul aus. Wenn Sie ein CIM-Modul in die lokale Sitzung importieren, konvertiert PowerShell die CDXML-Dateien für jeden Befehl in PowerShell-Skripts, die als Funktionen in der lokalen Sitzung angezeigt werden.
Der vierte Befehl führt den Befehl Get-Disk aus. Obwohl der Befehl in der lokalen Sitzung eingegeben wird, wird er implizit auf dem Remotecomputer ausgeführt, von dem er importiert wurde. Der Befehl ruft Objekte vom Remotecomputer ab und gibt sie an die lokale Sitzung zurück.
$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
Parameter
-Alias
Gibt die Aliase an, die dieses Cmdlet aus dem Modul in die aktuelle Sitzung importiert. Geben Sie eine durch Trennzeichen getrennte Liste von Aliasen ein. Platzhalterzeichen sind zulässig.
Einige Module exportieren ausgewählte Aliase automatisch in Ihre Sitzung, wenn Sie das Modul importieren. Mit diesem Parameter können Sie zwischen den exportierten Aliasen auswählen.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | True |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ArgumentList
Gibt ein Array von Argumenten oder Parameterwerten an, die während des Import-Module-Befehls an ein Skriptmodul übergeben werden. Dieser Parameter ist nur gültig, wenn Sie ein Skriptmodul importieren.
Sie können auch auf den ArgumentList Parameter anhand des Alias verweisen, Args. Weitere Informationen finden Sie unter about_Aliases.
Parametereigenschaften
| Typ: | Object[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Argumente |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-AsCustomObject
Gibt an, dass dieses Cmdlet ein benutzerdefiniertes Objekt mit Elementen zurückgibt, die die importierten Modulmember darstellen. Dieser Parameter ist nur für Skriptmodule gültig.
Wenn Sie den parameter AsCustomObject verwenden, importiert Import-Module die Modulmember in die Sitzung und gibt dann ein PSCustomObject--Objekt anstelle eines PSModuleInfo--Objekts zurück. Sie können das benutzerdefinierte Objekt in einer Variablen speichern und die Elemente mithilfe der Punktnotation aufrufen.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Assembly
Gibt ein Array von Assemblyobjekten an. Dieses Cmdlet importiert die in den angegebenen Assemblyobjekten implementierten Cmdlets und Anbieter. Geben Sie eine Variable ein, die Assemblyobjekte enthält, oder einen Befehl, der Assemblyobjekte erstellt. Sie können ein Assemblyobjekt auch an Import-Modulepfeifen.
Wenn Sie diesen Parameter verwenden, werden nur die von den angegebenen Assemblys implementierten Cmdlets und Anbieter importiert. Wenn das Modul andere Dateien enthält, werden sie nicht importiert, und möglicherweise fehlen wichtige Elemente des Moduls. Verwenden Sie diesen Parameter zum Debuggen und Testen des Moduls oder wenn Sie angewiesen werden, es vom Modulautor zu verwenden.
Parametereigenschaften
| Typ: | Assembly[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Assembly
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-CimNamespace
Gibt den Namespace eines alternativen CIM-Anbieters an, der CIM-Module verfügbar macht. Der Standardwert ist der Namespace des WMI-Anbieters für Modulermittlung.
Verwenden Sie diesen Parameter, um CIM-Module von Computern und Geräten zu importieren, auf denen kein Windows-Betriebssystem ausgeführt wird.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
CimSession
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-CimResourceUri
Gibt einen alternativen Speicherort für CIM-Module an. Der Standardwert ist der Ressourcen-URI des WMI-Anbieters der Modulermittlung auf dem Remotecomputer.
Verwenden Sie diesen Parameter, um CIM-Module von Computern und Geräten zu importieren, auf denen kein Windows-Betriebssystem ausgeführt wird.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Parametereigenschaften
| Typ: | Uri |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
CimSession
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-CimSession
Gibt eine CIM-Sitzung auf dem Remotecomputer an. Geben Sie eine Variable ein, die die CIM-Sitzung oder einen Befehl enthält, der die CIM-Sitzung abruft, z. B. einen Get-CimSession--Befehl.
Import-Module verwendet die CIM-Sitzungsverbindung, um Module vom Remotecomputer in die aktuelle Sitzung zu importieren. Wenn Sie die Befehle aus dem importierten Modul in der aktuellen Sitzung verwenden, werden die Befehle tatsächlich auf dem Remotecomputer ausgeführt.
Sie können diesen Parameter verwenden, um Module von Computern und Geräten zu importieren, auf denen das Windows-Betriebssystem nicht ausgeführt wird, und Windows-Computer mit PowerShell, aber keine PowerShell-Remoting aktiviert haben.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Parametereigenschaften
| Typ: | CimSession |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
CimSession
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Cmdlet
Gibt ein Array von Cmdlets an, das dieses Cmdlet aus dem Modul in die aktuelle Sitzung importiert. Platzhalterzeichen sind zulässig.
Einige Module exportieren ausgewählte Cmdlets automatisch in Ihre Sitzung, wenn Sie das Modul importieren. Mit diesem Parameter können Sie zwischen den exportierten Cmdlets auswählen.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | True |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-DisableNameChecking
Gibt an, dass dieses Cmdlet die Meldung unterdrückt, die Sie warnt, wenn Sie ein Cmdlet oder eine Funktion importieren, deren Name ein nicht genehmigtes Verb oder ein unzulässiges Zeichen enthält.
Wenn ein Modul, das Sie importieren, Cmdlets oder Funktionen exportiert, die nicht genehmigte Verben in ihren Namen enthalten, zeigt PowerShell standardmäßig die folgende Warnmeldung an:
WARNUNG: Einige importierte Befehlsnamen enthalten nicht genehmigte Verben, die sie möglicherweise weniger auffindbar machen. Verwenden Sie den Verbose-Parameter für weitere Details oder Typ Get-Verb, um die Liste der genehmigten Verben anzuzeigen.
Diese Meldung ist nur eine Warnung. Das vollständige Modul wird weiterhin importiert, einschließlich der nicht konformen Befehle. Obwohl die Meldung für Modulbenutzer angezeigt wird, sollte das Benennungsproblem vom Modulautor behoben werden.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Force
Dieser Parameter bewirkt, dass ein Modul über dem aktuellen Modul geladen oder neu geladen wird.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-FullyQualifiedName
Gibt den vollqualifizierten Namen der Modulspezifikation an.
Parametereigenschaften
| Typ: | ModuleSpecification[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
FullyQualifiedName
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
FullyQualifiedNameAndPSSession
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Function
Gibt ein Array von Funktionen an, das dieses Cmdlet aus dem Modul in die aktuelle Sitzung importiert. Platzhalterzeichen sind zulässig.
Einige Module exportieren ausgewählte Funktionen automatisch in Ihre Sitzung, wenn Sie das Modul importieren. Mit diesem Parameter können Sie zwischen den exportierten Funktionen auswählen.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | True |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Global
Gibt an, dass dieses Cmdlet Module in den globalen Sitzungszustand importiert, sodass sie für alle Befehle in der Sitzung verfügbar sind.
Wenn Import-Module Cmdlet standardmäßig über die Eingabeaufforderung, skriptdatei oder scriptblock aufgerufen wird, werden alle Befehle in den globalen Sitzungszustand importiert.
Wenn sie aus einem anderen Modul aufgerufen wird, importiert Import-Module Cmdlet die Befehle in einem Modul, einschließlich Befehle aus geschachtelten Modulen, in den Sitzungszustand des Aufrufers.
Tipp
Sie sollten vermeiden, Import-Module innerhalb eines Moduls aufzurufen. Deklarieren Sie das Zielmodul stattdessen als geschachteltes Modul im Manifest des übergeordneten Moduls. Durch das Deklarieren geschachtelter Module wird die Auffindbarkeit von Abhängigkeiten verbessert.
Der Parameter Global entspricht dem Parameter Scope mit dem Wert "Global".
Verwenden Sie zum Einschränken der Befehle, die ein Modul exportiert, einen Export-ModuleMember Befehl im Skriptmodul.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-MaximumVersion
Gibt eine maximale Version an. Mit diesem Cmdlet wird nur eine Version des Moduls importiert, die kleiner oder gleich dem angegebenen Wert ist. Wenn keine Version qualifiziert ist, generiert Import-Module einen Fehler.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Name
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
PSSession
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CimSession
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-MinimumVersion
Gibt eine Mindestversion an. Dieses Cmdlet importiert nur eine Version des Moduls, die größer oder gleich dem angegebenen Wert ist. Wenn keine Version qualifiziert ist, generiert Import-Module einen Fehler.
Standardmäßig importiert Import-Module das Modul, ohne die Versionsnummer zu überprüfen.
Verwenden Sie den MinimumVersion Parameternamen oder den Alias, Version.
Verwenden Sie den Parameter RequiredVersion, um eine genaue Version anzugeben. Sie können auch die Parameter Module und Version des Schlüsselworts #Requires verwenden, um eine bestimmte Version eines Moduls in einem Skript zu erfordern.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Parametereigenschaften
| Typ: | Version |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Version |
Parametersätze
Name
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
PSSession
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CimSession
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ModuleInfo
Gibt ein Array von zu importierenden Modulobjekten an. Geben Sie eine Variable ein, die die Modulobjekte enthält, oder einen Befehl, der die Modulobjekte abruft, z. B. den folgenden Befehl: Get-Module -ListAvailable. Sie können modulobjekte auch an Import-Modulepfeifen.
Parametereigenschaften
| Typ: | PSModuleInfo[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ModuleInfo
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Name
Gibt die Namen der zu importierenden Module an. Geben Sie den Namen des Moduls oder den Namen einer Datei in das Modul ein, z. B. eine PSD1-, PSM1-, .dll- oder PS1-Datei. Dateipfade sind optional. Platzhalterzeichen sind nicht zulässig. Sie können auch Modulnamen und Dateinamen an Import-Moduleweitergeleitet werden.
Wenn Sie einen Pfad weglassen, sucht Import-Module nach dem Modul in den Pfaden, die in der umgebungsvariablen $env:PSModulePath gespeichert sind.
Geben Sie nach Möglichkeit nur den Modulnamen an. Wenn Sie einen Dateinamen angeben, werden nur die Elemente importiert, die in dieser Datei implementiert sind. Wenn das Modul andere Dateien enthält, werden sie nicht importiert, und möglicherweise fehlen wichtige Elemente des Moduls.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | True |
| Nicht anzeigen: | False |
Parametersätze
Name
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
PSSession
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CimSession
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-NoClobber
Gibt an, dass dieses Cmdlet keine Befehle importiert, die dieselben Namen wie vorhandene Befehle in der aktuellen Sitzung haben. Standardmäßig importiert Import-Module alle exportierten Modulbefehle.
Befehle mit denselben Namen können Befehle in der Sitzung ausblenden oder ersetzen. Um Befehlsnamenkonflikte in einer Sitzung zu vermeiden, verwenden Sie die Parameter Präfix oder NoClobber Parameter. Weitere Informationen zu Namenskonflikten und Befehlsrangfolgen finden Sie unter "Module and Name Conflicts" in about_Modules und about_Command_Precedence.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | NoOverwrite |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-PassThru
Gibt ein Objekt zurück, das das Element darstellt, mit dem Sie arbeiten. Standardmäßig generiert dieses Cmdlet keine Ausgabe.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Prefix
Gibt ein Präfix an, das dieses Cmdlet den Substantiven in den Namen importierter Modulmember hinzufügt.
Verwenden Sie diesen Parameter, um Namenskonflikte zu vermeiden, die auftreten können, wenn verschiedene Member in der Sitzung denselben Namen haben. Dieser Parameter ändert das Modul nicht, und es wirkt sich nicht auf Dateien aus, die das Modul für seine eigene Verwendung importiert. Diese werden als geschachtelte Module bezeichnet. Dieses Cmdlet betrifft nur die Namen von Mitgliedern in der aktuellen Sitzung.
Wenn Sie z. B. das Präfix UTC angeben und dann ein Get-Date-Cmdlet importieren, wird das Cmdlet in der Sitzung als Get-UTCDatebekannt und nicht mit dem ursprünglichen cmdlet Get-Date verwechselt.
Der Wert dieses Parameters hat Vorrang vor der DefaultCommandPrefix- Eigenschaft des Moduls, die das Standardpräfix angibt.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-PSSession
Gibt eine vom Benutzer verwaltete PowerShell-Sitzung (PSSession) an, aus der dieses Cmdlet Module in die aktuelle Sitzung importiert. Geben Sie eine Variable ein, die eine PSSession- oder einen Befehl enthält, der eine PSSession-abruft, z. B. einen Get-PSSession-Befehl.
Wenn Sie ein Modul aus einer anderen Sitzung in die aktuelle Sitzung importieren, können Sie die Cmdlets aus dem Modul in der aktuellen Sitzung verwenden, genau wie Cmdlets aus einem lokalen Modul. Befehle, die die Remote-Cmdlets verwenden, werden tatsächlich in der Remotesitzung ausgeführt, aber die Remotingdetails werden im Hintergrund von PowerShell verwaltet.
Dieser Parameter verwendet das Feature "Implizites Remoting" von PowerShell. Es entspricht der Verwendung des cmdlets Import-PSSession zum Importieren bestimmter Module aus einer Sitzung.
Import-Module können keine PowerShell Core-Module aus einer anderen Sitzung importieren. Die PowerShell Core-Module weisen Namen auf, die mit Microsoft.PowerShell beginnen.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Parametereigenschaften
| Typ: | PSSession |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
PSSession
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
FullyQualifiedNameAndPSSession
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-RequiredVersion
Gibt eine Version des Moduls an, das dieses Cmdlet importiert. Wenn die Version nicht installiert ist, generiert Import-Module einen Fehler.
Standardmäßig importiert Import-Module das Modul, ohne die Versionsnummer zu überprüfen.
Verwenden Sie zum Angeben einer Mindestversion den Parameter MinimumVersion. Sie können auch die Parameter Module und Version des Schlüsselworts #Requires verwenden, um eine bestimmte Version eines Moduls in einem Skript zu erfordern.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Skripts, die RequiredVersion verwenden, um Module zu importieren, die in vorhandenen Versionen des Windows-Betriebssystems enthalten sind, werden in zukünftigen Versionen des Windows-Betriebssystems nicht automatisch ausgeführt. Dies liegt daran, dass powerShell-Modulversionsnummern in zukünftigen Versionen des Windows-Betriebssystems höher sind als Modulversionsnummern in vorhandenen Versionen des Windows-Betriebssystems.
Parametereigenschaften
| Typ: | Version |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Name
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
PSSession
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CimSession
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Scope
Gibt einen Bereich an, in den dieses Cmdlet das Modul importiert.
Die zulässigen Werte für diesen Parameter sind:
- Global. Verfügbar für alle Befehle in der Sitzung. Entspricht dem Parameter Global.
- Ortsgebunden. Nur im aktuellen Bereich verfügbar.
Wenn Import-Module Cmdlet standardmäßig über die Eingabeaufforderung, skriptdatei oder scriptblock aufgerufen wird, werden alle Befehle in den globalen Sitzungszustand importiert. Sie können den Parameter -Scope mit dem Wert Local verwenden, um Modulinhalte in den Skript- oder Skriptblockbereich zu importieren.
Wenn sie aus einem anderen Modul aufgerufen wird, importiert Import-Module Cmdlet die Befehle in einem Modul, einschließlich Befehle aus geschachtelten Modulen, in den Sitzungszustand des Aufrufers. Wenn Sie -Scope Global oder -Global angeben, wird angegeben, dass dieses Cmdlet Module in den globalen Sitzungszustand importiert, sodass sie für alle Befehle in der Sitzung verfügbar sind.
Der Parameter Global entspricht dem Parameter Scope mit dem Wert "Global".
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Parametereigenschaften
| Typ: | String |
| Standardwert: | Current scope |
| Zulässige Werte: | Local, Global |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Variable
Gibt ein Array von Variablen an, das dieses Cmdlet aus dem Modul in die aktuelle Sitzung importiert. Geben Sie eine Liste von Variablen ein. Platzhalterzeichen sind zulässig.
Einige Module exportieren ausgewählte Variablen automatisch in Ihre Sitzung, wenn Sie das Modul importieren. Mit diesem Parameter können Sie aus den exportierten Variablen auswählen.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | True |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
System.String, System.Management.Automation.PSModuleInfo, System.Reflection.Assembly
Sie können einen Modulnamen, ein Modulobjekt oder ein Assemblyobjekt an dieses Cmdlet weiterleiten.
Ausgaben
None, System.Management.Automation.PSModuleInfo, or System.Management.Automation.PSCustomObject
Dieses Cmdlet gibt ein PSModuleInfo- oder PSCustomObject-zurück. Standardmäßig generiert Import-Module keine Ausgabe. Wenn Sie den PassThru--Parameter angeben, generiert das Cmdlet ein System.Management.Automation.PSModuleInfo-Objekt, das das Modul darstellt. Wenn Sie den AsCustomObject--Parameter angeben, wird ein PSCustomObject--Objekt generiert.
Hinweise
Bevor Sie ein Modul importieren können, muss das Modul auf dem lokalen Computer installiert sein. Das Modulverzeichnis muss also in ein Verzeichnis kopiert werden, auf das auf Ihren lokalen Computer zugegriffen werden kann. Weitere Informationen finden Sie unter about_Modules.
Sie können auch die parameter PSSession und CIMSession verwenden, um Module zu importieren, die auf Remotecomputern installiert sind. Befehle, die die Cmdlets in diesen Modulen verwenden, werden jedoch tatsächlich in der Remotesitzung auf dem Remotecomputer ausgeführt.
Wenn Sie Mitglieder mit demselben Namen und demselben Typ in Ihre Sitzung importieren, verwendet PowerShell standardmäßig das zuletzt importierte Element. Variablen und Aliase werden ersetzt, und auf die Originale kann nicht zugegriffen werden. Funktionen, Cmdlets und Anbieter werden lediglich von den neuen Membern schattiert. Auf sie kann zugegriffen werden, indem sie den Befehlsnamen mit dem Namen des Snap-Ins, Moduls oder Funktionspfads qualifizieren.
Verwenden Sie das cmdlet
Update-FormatData, um die Formatierungsdaten für Befehle zu aktualisieren, die aus einem Modul importiert wurden.Update-FormatDataaktualisiert auch die Formatierungsdaten für Befehle in der Sitzung, die aus Modulen importiert wurden. Wenn sich die Formatierungsdatei für ein Modul ändert, können Sie einenUpdate-FormatDataBefehl ausführen, um die Formatierungsdaten für importierte Befehle zu aktualisieren. Sie müssen das Modul nicht erneut importieren.Ab Windows PowerShell 3.0 werden die mit PowerShell installierten Kernbefehle in Modulen verpackt. In Windows PowerShell 2.0 und in Hostprogrammen, die ältere Sitzungen in späteren Versionen von PowerShell erstellen, werden die Kernbefehle in Snap-Ins (PSSnapins) verpackt. Die Ausnahme ist Microsoft.PowerShell.Core, die immer ein Snap-In ist. Außerdem sind Remotesitzungen, z. B. die vom Cmdlet
New-PSSessiongestarteten Sitzungen, ältere Sitzungen, die Kern-Snap-Ins enthalten.Informationen zur CreateDefault2--Methode, die neuere Sitzungen mit Kernmodulen erstellt, finden Sie in der CreateDefault2-Methode.
Import-Modulekönnen keine PowerShell Core-Module aus einer anderen Sitzung importieren. Die PowerShell Core-Module weisen Namen auf, die mit Microsoft.PowerShell beginnen.In Windows PowerShell 2.0 wurden einige der Eigenschaftswerte des Modulobjekts, z. B. die ExportedCmdlets und NestedModules Eigenschaftenwerte, erst aufgefüllt, nachdem das Modul importiert wurde und für das Modulobjekt nicht verfügbar war, das vom PassThru Parameter zurückgegeben wird. In Windows PowerShell 3.0 werden alle Moduleigenschaftenwerte aufgefüllt.
Wenn Sie versuchen, ein Modul zu importieren, das Assemblys mit gemischtem Modus enthält, die nicht mit Windows PowerShell 3.0 kompatibel sind, gibt
Import-Moduleeine Fehlermeldung wie die folgende zurück.Import-Module: Gemischte Modusassembly basiert auf version 'v2.0.50727' der Laufzeit und kann nicht ohne zusätzliche Konfigurationsinformationen in der 4.0-Laufzeit geladen werden.
Dieser Fehler tritt auf, wenn ein Modul, das für Windows PowerShell 2.0 entwickelt wurde, mindestens eine Gemischtmodulassembly enthält, d. h. eine Assembly, die verwalteten und nicht verwalteten Code enthält, z. B. C++ und C#.
Um ein Modul zu importieren, das Assemblys mit gemischtem Modus enthält, starten Sie Windows PowerShell 2.0 mit dem folgenden Befehl, und versuchen Sie dann den Befehl
Import-Moduleerneut.PowerShell.exe -Version 2.0Um das CIM-Sitzungsfeature zu verwenden, muss der Remotecomputer über WS-Management Remoting und die Windows-Verwaltungsinstrumentation (Windows Management Instrumentation, WMI) verfügen, was die Microsoft-Implementierung des Standards Common Information Model (CIM) ist. Der Computer muss auch über den WMI-Anbieter für Module Discovery oder einen alternativen CIM-Anbieter verfügen, der über die gleichen grundlegenden Features verfügt.
Sie können das CIM-Sitzungsfeature auf Computern verwenden, auf denen kein Windows-Betriebssystem und auf Windows-Computern mit PowerShell ausgeführt wird, aber keine PowerShell-Remoting aktiviert ist.
Sie können auch die CIM-Parameter verwenden, um CIM-Module von Computern abzurufen, auf denen PowerShell-Remoting aktiviert ist, einschließlich des lokalen Computers. Wenn Sie eine CIM-Sitzung auf dem lokalen Computer erstellen, verwendet PowerShell DCOM anstelle von WMI, um die Sitzung zu erstellen.