Freigeben über


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>]
    [-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>]
    [-RequiredVersion <Version>]
    [-ArgumentList <Object[]>]
    [-DisableNameChecking]
    [-NoClobber]
    [-Scope <String>]
    [-CimResourceUri <Uri>]
    [-CimNamespace <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>]
    [-RequiredVersion <Version>]
    [-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 Windows 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 Windows 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 importiert Import-Module alle Elemente, die das Modul exportiert, aber Sie können die parameter Alias, Function, Cmdletund Variable verwenden, um die importierten Member einzuschränken. Sie können auch den NoClobber-Parameter verwenden, um zu verhindern, dass Import-Module Mitglieder importieren, die dieselben Namen wie Mitglieder 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 Windows 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 mit aktivierter Windows PowerShell- und Windows PowerShell-Remoting ausgeführt wird, erstellen Sie eine PSSession- auf dem Remotecomputer, und verwenden Sie dann den parameter PSSession von Get-Module, um die Windows PowerShell-Module in der PSSessionabzurufen. 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, die windows PowerShell-Remoting nicht aktiviert haben, einschließlich Computern, die das Windows-Betriebssystem nicht ausführen, und Windows-Computer mit Windows PowerShell, aber keine Windows PowerShell-Remoting aktiviert haben.

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 BitsTransfer Moduls in die aktuelle Sitzung importiert. Der Name Parametername ist optional und kann weggelassen werden.

Import-Module -Name BitsTransfer

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

Diese Befehle importieren die Member der BitsTransfer und ServerManager Module in die aktuelle Sitzung.

$m = Get-Module -ListAvailable BitsTransfer, ServerManager
Import-Module -ModuleInfo $m

Der erste Befehl verwendet das Cmdlet Get-Module, um die module BitsTransfer und ServerManager abzurufen. Sie speichert die Objekte in der $m Variablen. Der ListAvailable Parameter ist erforderlich, wenn Sie Module abrufen, die noch nicht in die Sitzung importiert werden.

Der zweite Befehl verwendet den ModuleInfo-Parameter von Import-Module, um die Module in die aktuelle Sitzung zu importieren.

Diese Befehle entsprechen der Verwendung eines Pipelineoperators | zum Senden der Ausgabe eines Get-Module Befehls an Import-Module.

Beispiel 4: Importieren aller module, die durch einen Pfad angegeben wurden

Dieser Befehl verwendet einen expliziten Pfad, 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'.

Außerdem wird der Verbose allgemeinen Parameter verwendet, um eine Liste der aus dem Modul importierten Elemente abzurufen. Ohne den Parameter Verbose, PassThruoder AsCustomObject generiert Import-Module beim Importieren eines Moduls keine Ausgabe.

Beispiel 5: Einschränken von Modulmembern, die in eine Sitzung importiert wurden

In diesem Beispiel wird gezeigt, wie Sie die Modulmmber einschränken, die in die Sitzung importiert werden, und wie sich dieser Befehl auf die Sitzung auswirkt.

Import-Module BitsTransfer -Cmdlet Add-BitsFile, Get-BitsTransfer
(Get-Module BitsTransfer).ExportedCmdlets
Key                   Value
---                   -----
Add-BitsFile          Add-BitsFile
Complete-BitsTransfer Complete-BitsTransfer
Get-BitsTransfer      Get-BitsTransfer
Remove-BitsTransfer   Remove-BitsTransfer
Resume-BitsTransfer   Resume-BitsTransfer
Set-BitsTransfer      Set-BitsTransfer
Start-BitsTransfer    Start-BitsTransfer
Suspend-BitsTransfer  Suspend-BitsTransfer
Get-Command -Module BitsTransfer
CommandType Name             Version Source
----------- ----             ------- ------
Cmdlet      Add-BitsFile     2.0.0.0 BitsTransfer
Cmdlet      Get-BitsTransfer 2.0.0.0 BitsTransfer

Der erste Befehl importiert nur die cmdlets Add-BitsFile und Get-BitsTransfer aus dem modul BitsTransfer. Der Befehl verwendet den parameter Cmdlet, um die cmdlets einzuschränken, die das Modul importiert. Sie können auch die Parameter Alias, Variableund Function verwenden, um andere Elemente einzuschränken, die ein Modul importiert.

Der zweite Befehl verwendet das Cmdlet Get-Module, um das Objekt abzurufen, das das BitsTransfer Modul darstellt. Die ExportedCmdlets-Eigenschaft listet alle Cmdlets auf, die das Modul exportiert, auch wenn sie nicht alle importiert wurden.

Der dritte Befehl verwendet den Module-Parameter des cmdlets Get-Command, um die Befehle abzurufen, die aus dem modul BitsTransfer importiert wurden. Die Ergebnisse bestätigen, dass nur die cmdlets Add-BitsFile und Get-BitsTransfer importiert wurden.

Beispiel 6: Importieren der Member eines Moduls und Hinzufügen eines Präfixes

Import-Module BitsTransfer -Prefix PS -PassThru
ModuleType Name                                ExportedCommands
---------- ----                                ----------------
Manifest   bitstransfer                        {Add-BitsFile, Complete-...
Get-Command -Module BitsTransfer
CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Cmdlet          Add-BitsFile                                       bitstransfer
Cmdlet          Add-PSBitsFile                                     bitstransfer
Cmdlet          Complete-BitsTransfer                              bitstransfer
Cmdlet          Complete-PSBitsTransfer                            bitstransfer
Cmdlet          Get-BitsTransfer                                   bitstransfer
Cmdlet          Get-PSBitsTransfer                                 bitstransfer
Cmdlet          Remove-BitsTransfer                                bitstransfer
Cmdlet          Remove-PSBitsTransfer                              bitstransfer
Cmdlet          Resume-BitsTransfer                                bitstransfer
Cmdlet          Resume-PSBitsTransfer                              bitstransfer
Cmdlet          Set-BitsTransfer                                   bitstransfer
Cmdlet          Set-PSBitsTransfer                                 bitstransfer
Cmdlet          Start-BitsTransfer                                 bitstransfer
Cmdlet          Start-PSBitsTransfer                               bitstransfer
Cmdlet          Suspend-BitsTransfer                               bitstransfer
Cmdlet          Suspend-PSBitsTransfer                             bitstransfer

Diese Befehle importieren das BitsTransfer Modul in die aktuelle Sitzung, fügen einen Präfix zu den Membernamen hinzu und zeigen dann die präfixierten Membernamen an.

Der erste Befehl verwendet das cmdlet Import-Module, um das BitsTransfer Modul zu importieren. Es verwendet den parameter Prefix, um das PS-Präfix allen Membern hinzuzufügen, die aus dem Modul importiert werden, und dem parameter PassThru, um ein Modulobjekt zurückzugeben, das das importierte Modul darstellt.

Der zweite Befehl verwendet das Cmdlet Get-Command, um die Elemente abzurufen, die aus dem Modul importiert wurden. Er verwendet den parameter Module, um das Modul anzugeben. Die Ausgabe zeigt, dass die Modulmmber richtig vorangestellt wurden.

Das präfix, das Sie verwenden, gilt nur für die Mitglieder in der aktuellen Sitzung. Das Modul wird nicht geändert.

Beispiel 7: Verwenden des AsCustomObject-Parameters

Get-Module -ListAvailable | 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"()

Diese Befehle veranschaulichen, wie Sie das benutzerdefinierte Objekt abrufen und verwenden, das Import-Module zurückgibt.

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 AsCustomObject-Parameter kann nur beim Importieren eines Skriptmoduls verwendet werden, sodass die erste Aufgabe ist, zu bestimmen, welche der verfügbaren Module ein Skriptmodul ist.

Nach dem Anzeigen verfügbarer Module mit -ListAvailableverwendet der zweite Befehl das cmdlet Import-Module zum Importieren des PSDiagnostics Skriptmoduls. Der AsCustomObject-Parameter wird verwendet, um ein benutzerdefiniertes Objekt und den PassThru Parameter anzufordern, um das Objekt zurückzugeben und in der variablen $a zu speichern.

Die $a Variable wird dann an das cmdlet Get-Member weitergeleitet, das die Eigenschaften und Methoden des PSCustomObject in $aabruft. Die Ausgabe zeigt eine Show-Calendar Skriptmethode an.

Der letzte Befehl verwendet die Show-Calendar Skriptmethode. Der Methodenname muss in Anführungszeichen eingeschlossen werden, da er einen Bindestrich enthält.

Beispiel 8: Verwenden des Force-Parameters zum erneuten Importieren eines Moduls

Import-Module BitsTransfer
Import-Module BitsTransfer -Force -Prefix PS

In diesem Beispiel wird gezeigt, wie Sie den Force-Parameter von Import-Module verwenden, wenn Sie ein Modul erneut in dieselbe Sitzung importieren.

Der erste Befehl importiert das BitsTransfer Modul. Der zweite Befehl importiert das Modul erneut, diesmal mit dem Prefix-Parameter.

Der zweite Befehl enthält auch den Force-Parameter, der das Modul entfernt und anschließend erneut importiert. Ohne diesen Parameter enthält die Sitzung zwei Kopien jedes BitsTransfer Cmdlets, eines mit dem Standardnamen und eines mit dem präfixierten Namen.

Beispiel 9: Ausführen von Befehlen, die durch importierte Befehle ausgeblendet wurden

Get-Date
Thursday, August 15, 2019 2:26:12 PM
Import-Module TestModule -Function Get-Date
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

In diesem Beispiel wird gezeigt, wie Befehle ausgeführt werden, die von importierten Befehlen ausgeblendet wurden.

In den ersten beiden Befehlen wird die typische Ausführung des cmdlets Get-date angezeigt.

Anschließend wird eine neue Get-Date-Funktion aus dem modul TestModule importiert. Da Funktionen Vorrang vor Cmdlets haben, wird die Get-Date Modulversion anstelle des cmdlets TestModule ausgeführt, wenn Get-Date erneut aufgerufen wird.

Mithilfe des All-Parameters von Get-Commandwird gezeigt, dass es jetzt zwei Get-Date Befehle in der Sitzung gibt. Eine Funktion aus dem modul TestModule und ein Cmdlet aus dem modul Microsoft.PowerShell.Utility.

Der letzte Befehl führt das ausgeblendete Cmdlet aus, indem der Befehlsname mit dem Modulnamen qualifiziert wird.

Weitere Informationen zur Befehlsrangfolge in Windows PowerShell finden Sie unter about_Command_Precedence.

Beispiel 10: Angeben einer MinimumVersion für den Import

Import-Module -Name PSWorkflow -MinimumVersion 3.0.0.0

Mit diesem Befehl wird das PSWorkflow-Modul importiert. Der parameter MinimumVersion (alias=Version) von Import-Module wird verwendet, um nur Version 3.0.0.0 oder höher des Moduls zu importieren.

Sie können auch den RequiredVersion-Parameter verwenden, um eine bestimmte Version eines Moduls zu importieren, oder die parameter Module und Version des Schlüsselworts #Requires verwenden, um eine bestimmte Version eines Moduls in einem Skript zu erfordern.

Beispiel 11: Importieren eines Moduls von einem Remotecomputer

$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
# Use `Get-NetFirewallRule` to get Windows Remote Management firewall rules on the Server01 computer.
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
# Perform the same operation as above using Invoke-Command.
Invoke-Command -Session $s {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

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 Windows 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.

Beispiel 12: Verwalten des Speichers auf einem Remotecomputer ohne windows-Betriebssystem

Mit den Befehlen in diesem Beispiel können Sie die Speichersysteme eines Remotecomputers verwalten, auf dem kein Windows-Betriebssystem ausgeführt wird.

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.

Die Sitzung stellt eine Verbindung mit WMI auf dem Remotecomputer und speichert die CIM-Sitzung in der variablen $cs.

$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

-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

-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

-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-FormatData aktualisiert 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 einen Update-FormatData Befehl 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-PSSession gestarteten 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-Module kö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-Module eine 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-Module erneut.

    PowerShell.exe -Version 2.0

  • Um 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.