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