Import-Module

Fügt der aktuellen Sitzung Module hinzu.

Syntax

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

Beschreibung

Das Import-Module Cmdlet fügt eine oder mehrere Module zur aktuellen Sitzung hinzu. Ab PowerShell 3.0 werden installierte Module automatisch in die Sitzung importiert, wenn Sie Befehle oder Anbieter im Modul verwenden. Sie können jedoch weiterhin den Import-Module Befehl verwenden, um ein Modul zu importieren. Sie können den automatischen Modulimport mithilfe der $PSModuleAutoloadingPreference Einstellungsvariable deaktivieren. Weitere Informationen zu der $PSModuleAutoloadingPreference Variablen finden Sie unter about_Preference_Variables.

Ein Modul ist ein Paket, das Elemente enthält, die in PowerShell verwendet werden können. Mitglieder umfassen Cmdlets, Anbieter, Skripts, Funktionen, Variablen und andere Tools und Dateien. Nachdem ein Modul importiert wurde, können Sie die Modulelemente in der Sitzung verwenden. Weitere Informationen zu Modulen finden Sie unter about_Modules.

Importiert standardmäßig Import-Module alle Elemente, die das Modul exportiert, sie können jedoch den Alias, die Funktion, das Cmdlet und die Variablenparameter verwenden, um zu beschränken, welche Elemente importiert werden. Der Parameter NoClobber verhindert Import-Module , dass Mitglieder importiert werden, die dieselben Namen wie Mitglieder in der aktuellen Sitzung haben.

Import-Module importiert ein Modul nur in die aktuelle Sitzung. Um das Modul in jede neue Sitzung zu importieren, fügen Sie Ihrem PowerShell-Profil einen Import-Module Befehl hinzu. Weitere Informationen zu Profilen finden Sie unter about_Profiles.

Sie können Remote-Windows-Computer verwalten, die PowerShell-Remoting aktiviert haben, indem Sie eine PSSession auf dem Remotecomputer erstellen. Verwenden Sie dann den PSSession-ParameterImport-Module, um die Module zu importieren, die auf dem Remotecomputer installiert sind. Wenn Sie die importierten Befehle in der aktuellen Sitzung verwenden, führen die Befehle implizit auf dem Remotecomputer aus.

Ab Windows PowerShell 3.0 können Import-Module Sie common Information Model (CIM)-Module importieren. CIM-Module definieren Cmdlets in Cmdlet Definition XML -Dateien (CDXML). Mit diesem Feature können Sie Cmdlets verwenden, die in nicht verwalteten Codeassemblys implementiert werden, z. B. in C++.

Für Remotecomputer, die keine PowerShell-Remoting aktiviert haben, einschließlich Computern, die nicht das Windows-Betriebssystem ausführen, können Sie den CIMSession-ParameterImport-Module verwenden, um CIM-Module aus dem Remotecomputer zu importieren. Die importierten Befehle werden implizit auf dem Remotecomputer ausgeführt. Eine CIMSession ist eine Verbindung mit windows Management Instrumentation (WMI) auf dem Remotecomputer.

Beispiele

Beispiel 1: Importieren der Mitglieder eines Moduls in die aktuelle Sitzung

In diesem Beispiel werden die Mitglieder des PSDiagnostics-Moduls in die aktuelle Sitzung importiert.

Import-Module -Name PSDiagnostics

Beispiel 2: Importieren aller Module, die vom Modulpfad angegeben sind

In diesem Beispiel werden alle verfügbaren Module im Pfad importiert, der durch die $env:PSModulePath Umgebungsvariable in die aktuelle Sitzung angegeben wird.

Get-Module -ListAvailable | Import-Module

Beispiel 3: Importieren der Mitglieder mehrerer Module in die aktuelle Sitzung

In diesem Beispiel werden die Mitglieder der PSDiagnostics - und Dism-Module in die aktuelle Sitzung importiert.

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

Das Get-Module Cmdlet ruft die PSDiagnostics - und Dism-Module ab und speichert die Objekte in der $m Variablen. Der Parameter ListAvailable ist erforderlich, wenn Sie Module erhalten, die noch nicht in die Sitzung importiert werden.

Der ModulInfo-ParameterImport-Module wird verwendet, um die Module in die aktuelle Sitzung zu importieren.

Beispiel 4: Importieren aller Module, die durch einen Pfad angegeben sind

In diesem Beispiel wird ein expliziter Pfad verwendet, um das Zu importierende Modul zu identifizieren.

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

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

Durch die Verwendung des Verbose-ParametersImport-Module wird der Fortschritt beim Laden des Moduls angezeigt. Ohne den Parameter "Verbose", "PassThru" oder "AsCustomObject " wird keine Ausgabe generiert, Import-Module wenn ein Modul importiert wird.

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

In diesem Beispiel wird gezeigt, wie Sie einschränken, welche Modulmitglieder in die Sitzung importiert werden und welche Auswirkungen dieser Befehle auf die Sitzung haben. Der Funktionsparameter beschränkt die Elemente, die aus dem Modul importiert werden. Sie können auch die Parameter Alias, Variable und Cmdlet verwenden, um andere Elemente einzuschränken, die ein Modul importiert.

Das Get-Module Cmdlet ruft das Objekt ab, das das PSDiagnostics-Modul darstellt. Die ExportCmdlets-Eigenschaft listet alle Cmdlets auf, die das Modul exportiert, obwohl sie nicht alle importiert wurden.

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

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

Get-Command -Module PSDiagnostics

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

Mit dem Parameter "Modul " des Get-Command Cmdlets werden die Befehle angezeigt, die aus dem PSDiagnostics-Modul importiert wurden. Die Ergebnisse bestätigen, dass nur die und Enable-PSTrace cmdlets Disable-PSTrace importiert wurden.

Beispiel 6: Importieren der Elemente eines Moduls und Hinzufügen eines Präfixs

In diesem Beispiel wird das PSDiagnostics-Modul in die aktuelle Sitzung importiert, fügt dem Membernamen ein Präfix hinzu, und zeigt dann die präfixierten Membernamen an. Der PräfixparameterImport-Module fügt das x-Präfix allen Elementen hinzu, die aus dem Modul importiert werden. Das Präfix gilt nur für die Mitglieder in der aktuellen Sitzung. Es ändert nicht das Modul. Der PassThru-Parameter gibt ein Modulobjekt zurück, das das importierte Modul darstellt.

Import-Module PSDiagnostics -Prefix x -PassThru

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

Get-Command -Module PSDiagnostics

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

Get-Command ruft die Elemente ab, die aus dem Modul importiert wurden. Die Ausgabe zeigt, dass die Modulelemente ordnungsgemäß mit dem Präfix versehen wurden.

Beispiel 7: Abrufen und Verwenden eines benutzerdefinierten Objekts

In diesem Beispiel wird veranschaulicht, wie Sie das von ihnen zurückgegebene Import-Modulebenutzerdefinierte Objekt abrufen und verwenden.

Benutzerdefinierte Objekte beinhalten synthetische Elemente, die jedes der importierten Modulelemente darstellen. Beispielsweise werden die Cmdlets und Funktionen in einem Modul in Skriptmethoden des benutzerdefinierten Objekts konvertiert.

Benutzerdefinierte Objekte sind nützlich bei der Skripterstellung. Sie sind außerdem nützlich, wenn mehrere importierte Objekte die gleichen Namen haben. Die Skriptmethode eines Objekts entspricht der Angabe des vollqualifizierten Namens eines importierten Elements, darunter der Modulname.

Der AsCustomObject-Parameter kann nur beim Importieren eines Skriptmoduls verwendet werden. Verwenden Sie Get-Module die Bestimmung, welche der verfügbaren Module ein Skriptmodul ist.

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

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

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

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

$a."Show-Calendar"()

Das Show-Calendar Skriptmodul wird mithilfe des AsCustomObject-Parameters importiert, um ein benutzerdefiniertes Objekt und den PassThru-Parameter zum Zurückgeben des Objekts anzufordern. Das resultierende benutzerdefinierte Objekt wird in der $a Variablen gespeichert.

Die $a Variable wird an das Get-Member Cmdlet weitergeleitet, um die Eigenschaften und Methoden des gespeicherten Objekts anzuzeigen. Die Ausgabe zeigt eine Show-Calendar Skriptmethode.

Um die Skriptmethode aufzurufen, muss der Methodenname in Anführungszeichen eingeschlossen werden, da der Show-Calendar Name einen Bindestrich enthält.

Beispiel 8: Erneutes Importieren eines Moduls in dieselbe Sitzung

In diesem Beispiel wird gezeigt, wie Sie den Force-ParameterImport-Module verwenden, wenn Sie ein Modul in dieselbe Sitzung importieren. Der Force-Parameter entfernt das geladene Modul und importiert ihn dann erneut.

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

Der erste Befehl importiert das PSDiagnostics-Modul . Der zweite Befehl importiert das Modul erneut, dieses Mal mit dem Prefix-Parameter.

Ohne den Force-Parameter würde die Sitzung zwei Kopien jedes PSDiagnostics-Cmdlets enthalten, eine mit dem Standardnamen und einer mit dem präfixierten Namen.

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

In diesem Beispiel wird veranschaulicht, wie Befehle ausgeführt werden, die von importierten Befehlen ausgeblendet wurden. Das TestModule-Modul enthält eine Funktion, Get-Date die das Jahr und den Tag des Jahres zurückgibt.

Get-Date

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

Import-Module TestModule
Get-Date

19227

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

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

Microsoft.PowerShell.Utility\Get-Date

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

Das erste Get-Date Cmdlet gibt ein DateTime-Objekt mit dem aktuellen Datum zurück. Nach dem Importieren des TestModule-Moduls gibt Get-Date das Jahr und den Tag des Jahres zurück.

Mit dem Parameter Get-Command"Alle" werden alle Get-Date Befehle in der Sitzung angezeigt. Die Ergebnisse zeigen, dass zwei Get-Date Befehle in der Sitzung vorhanden sind, eine Funktion aus dem TestModule-Modul und ein Cmdlet aus dem Microsoft.PowerShell.Utility-Modul .

Da Funktionen Vorrang vor Cmdlets haben, wird die Get-Date Funktion aus dem TestModule-Modul anstelle des Get-Date Cmdlets ausgeführt. Zum Ausführen der ursprünglichen Version von Get-Date, müssen Sie den Befehlsnamen mit dem Modulnamen qualifizieren.

Weitere Informationen zur Rangfolge von Befehlen in PowerShell finden Sie unter about_Command_Precedence.

Beispiel 10: Importieren einer Mindestversion eines Moduls

In diesem Beispiel wird das PowerShellGet-Modul importiert. Es verwendet den MinimumVersion-ParameterImport-Module, um nur Version 2.0.0 oder höher des Moduls zu importieren.

Import-Module -Name PowerShellGet -MinimumVersion 2.0.0

Sie können auch den Parameter "RequiredVersion " verwenden, um eine bestimmte Version eines Moduls zu importieren oder die Parameter "Modul" und "Version " des #Requires Schlüsselworts zu verwenden, um eine bestimmte Version eines Moduls in einem Skript zu benötigen.

Beispiel 11: Importieren mit einem vollqualifizierten Namen

In diesem Beispiel wird mithilfe des VollQualifiedNames eine bestimmte Version eines Moduls importiert.

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

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

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

Beispiel 12: Importieren mithilfe eines vollqualifizierten Pfads

In diesem Beispiel wird mithilfe des vollqualifizierten Pfads eine bestimmte Version eines Moduls importiert.

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

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

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

Beispiel 13: Importieren eines Moduls aus einem Remotecomputer

In diesem Beispiel wird gezeigt, wie Sie das Import-Module Cmdlet zum Importieren eines Moduls aus einem Remotecomputer verwenden. Dieser Befehl verwendet das Implizite Remoting-Feature von PowerShell.

Wenn Sie Module aus einer anderen Sitzung importieren, können Sie die Cmdlets in der aktuellen Sitzung verwenden. Befehle, die die Cmdlets verwenden, werden jedoch in der Remotesitzung ausgeführt.

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

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

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

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

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

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

New-PSSession erstellt eine Remotesitzung (PSSession) auf dem Server01-Computer. Die PSSession wird in der $s Variable gespeichert.

Die Ausführung Get-Module mit dem PSSession-Parameter zeigt, dass das NetSecurity-Modul installiert und auf dem Remotecomputer verfügbar ist. Dieser Befehl entspricht der Verwendung des Invoke-Command Cmdlets zum Ausführen Get-Module des Befehls in der Remotesitzung. Beispiel: (Invoke-Command $s {Get-Module -ListAvailable -Name NetSecurity

Mit dem PSSession-Parameter wird Import-Module das NetSecurity-Modul aus dem Remotecomputer in die aktuelle Sitzung importiert. Das Get-Command Cmdlet wird verwendet, um Befehle abzurufen, die mit "Abrufen " beginnen und Firewall aus demNetSecurity-Modul einschließen. Die Ausgabe bestätigt, dass das Modul und seine Cmdlets in die aktuelle Sitzung importiert wurden.

Als Nächstes ruft das Get-NetFirewallRule Cmdlet Windows-Remoteverwaltungs-Firewallregeln auf dem Server01-Computer ab. Dies entspricht der Verwendung des Invoke-Command Cmdlets zum Ausführen Get-NetFirewallRule auf der Remotesitzung.

Beispiel 14: Verwalten von Speicher auf einem Remotecomputer ohne Windows-Betriebssystem

In diesem Beispiel hat der Administrator des Computers den ModulErmittlungs-WMI-Anbieter installiert, mit dem Sie CIM-Befehle verwenden können, die für den Anbieter konzipiert sind.

Das New-CimSession Cmdlet erstellt eine Sitzung auf dem Remotecomputer namens RSDGF03. Die Sitzung verbindet sich mit dem WMI-Dienst auf dem Remotecomputer. Die CIM-Sitzung wird in der $cs Variable gespeichert. Import-Module verwendet die CimSession , $cs um das Storage CIM-Modul auf dem RSDGF03-Computer zu importieren.

Das Get-Command Cmdlet zeigt den Get-Disk Befehl im Speichermodul . Wenn Sie ein CIM-Modul in die lokale Sitzung importieren, konvertiert PowerShell die CDXML-Dateien für jeden Befehl in PowerShell-Skripts, die als Funktionen in der lokalen Sitzung angezeigt werden.

Obwohl Get-Disk das Cmdlet in die lokale Sitzung eingegeben wird, wird das Cmdlet implizit auf dem Remotecomputer ausgeführt, aus dem es importiert wurde. Der Befehl gibt Objekte vom Remotecomputer in die lokale Sitzung zurück.

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

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

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

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

Parameter

-Alias

Gibt die Aliase an, die dieses Cmdlet aus dem Modul in die aktuelle Sitzung importiert. Geben Sie eine durch Kommas getrennte Liste der Aliase ein. Platzhalterzeichen sind zulässig.

Einige Module exportieren automatisch ausgewählte Aliase in Ihre Sitzung, wenn Sie das Modul importieren. Mit diesem Parameter können Sie eine Auswahl aus den exportierten Aliasen treffen.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-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 durch ihren Alias, Args, verweisen. Weitere Informationen zum Verhalten von ArgumentList finden Sie unter about_Splatting.

Type:Object[]
Aliases:Args
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AsCustomObject

Gibt an, dass dieses Cmdlet ein benutzerdefiniertes Objekt mit Elementen zurückgibt, die die importierten Modulelemente darstellen. Dieser Parameter gilt nur für Skriptmodule.

Wenn Sie den AsCustomObject-Parameter verwenden, Import-Module importiert die Modulelemente 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 punktierte Schreibweise verwenden, um die Elemente aufzurufen.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 geben Sie einen Befehl ein, mit dem die Assemblyobjekte erstellt werden. Sie können auch ein Assemblyobjekt an Import-Module.

Wenn Sie diesen Parameter verwenden, werden nur die Cmdlets und Anbieter importiert, die durch die angegebenen Assemblys implementiert wurden. 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 sie vom Modulautor verwenden möchten.

Type:Assembly[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 die Modulerkennung.

Verwenden Sie diesen Parameter, um CIM-Module aus Computern und Geräten zu importieren, die kein Windows-Betriebssystem ausführen.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimResourceUri

Gibt einen alternativen Speicherort für die CIM-Module an. Der Standardwert ist der Ressourcen-URI des Modulermittlungs-WMI-Anbieters auf dem Remotecomputer.

Verwenden Sie diesen Parameter, um CIM-Module aus Computern und Geräten zu importieren, die kein Windows-Betriebssystem ausführen.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 Befehl "Get-CimSession ".

Import-Module verwendet die CIM-Sitzungsverbindung, um Module aus dem Remotecomputer in die aktuelle Sitzung zu importieren. Wenn Sie die Befehle aus dem importierten Modul in der aktuellen Sitzung verwenden, werden die Befehle auf dem Remotecomputer ausgeführt.

Sie können diesen Parameter verwenden, um Module von Computern und Geräten zu importieren, die nicht das Windows-Betriebssystem ausführen, und Windows-Computer mit PowerShell, aber keine PowerShell-Remoting aktiviert haben.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Type:CimSession
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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 automatisch ausgewählte Cmdlets in Ihre Sitzung, wenn Sie das Modul importieren. Mit diesem Parameter können Sie eine Auswahl aus den exportierten Cmdlets treffen.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-DisableNameChecking

Gibt an, dass dieses Cmdlet die Nachricht 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 von Cmdlets oder Funktionen mit nicht genehmigten Verben in ihren Namen, exportiert, zeigt PowerShell 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 geben Sie „Get-Verb“ ein, um die Liste der zulässigen Verben anzuzeigen.

Diese Meldung ist nur eine Warnung. Es wird trotzdem das gesamte Modul einschließlich nicht konformer Befehle importiert. Obwohl die Meldung für Modulbenutzer angezeigt wird, sollte das Namensproblem vom Modulautor behoben werden.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Dieser Parameter bewirkt, dass ein Modul über dem aktuellen Modul geladen oder neu geladen wird.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FullyQualifiedName

Gibt den vollqualifizierten Namen des Moduls als Hashtabelle an. Der Wert kann eine Kombination aus Zeichenfolgen und Hashtabellen sein. Die Hashtabelle weist die folgenden Schlüssel auf.

  • ModuleName - Erforderlich Gibt den Modulnamen an.
  • GUID - Optional Gibt die GUID des Moduls an.
  • Es ist auch erforderlich , eine der drei folgenden Tasten anzugeben. Diese Tasten können nicht zusammen verwendet werden.
    • ModuleVersion – Gibt eine mindest zulässige Version des Moduls an.
    • RequiredVersion - Gibt eine genaue, erforderliche Version des Moduls an.
    • MaximumVersion - Gibt die maximal zulässige Version des Moduls an.
Type:ModuleSpecification[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 automatisch ausgewählte Funktionen in Ihre Sitzung, wenn Sie das Modul importieren. Mit diesem Parameter können Sie eine Auswahl aus den exportierten Funktionen treffen.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Global

Gibt an, dass dieses Cmdlet Module in den globalen Sitzungszustand importiert, damit sie für alle Befehle in der Sitzung verfügbar sind.

Wenn cmdlet standardmäßig Import-Module aus der Eingabeaufforderung, Skriptdatei oder Skriptblock aufgerufen wird, werden alle Befehle in den globalen Sitzungszustand importiert.

Wenn sie aus einem anderen Modul aufgerufen werden, Import-Module importiert Cmdlet die Befehle in einem Modul, einschließlich Befehlen aus geschachtelten Modulen, in den Sitzungszustand des aufrufenden Moduls.

Tipp

Sie sollten das Aufrufen Import-Module innerhalb eines Moduls vermeiden. Deklarieren Sie stattdessen das Zielmodul als geschachteltes Modul im Manifest des übergeordneten Moduls. Durch das Deklarieren geschachtelter Module wird die Auffindbarkeit von Abhängigkeiten verbessert.

Der Global-Parameter entspricht dem Scope-Parameter mit dem Wert Global.

Wenn Sie die Befehle einschränken möchten, die ein Modul exportiert, verwenden Sie einen Export-ModuleMember Befehl im Skriptmodul.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaximumVersion

Gibt eine maximale Version an. Dieses Cmdlet importiert nur eine Version des Moduls, das kleiner oder gleich dem angegebenen Wert ist. Wenn keine Version qualifiziert ist, Import-Module wird ein Fehler zurückgegeben.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MinimumVersion

Gibt eine Mindestversion an. Dieses Cmdlet importiert nur eine Version des Moduls, das größer oder gleich dem angegebenen Wert ist. Verwenden Sie den MinimumVersion-Parameternamen oder dessen Alias Version. Wenn keine Version qualifiziert ist, Import-Module wird ein Fehler generiert.

Verwenden Sie zum Angeben einer genauen Version den RequiredVersion-Parameter. Sie können auch die Parameter "Module " und "Version " des schlüsselworts #Requires verwenden, um eine bestimmte Version eines Moduls in einem Skript zu benötigen.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Type:Version
Aliases:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 auch Modulobjekte an Import-Module.

Type:PSModuleInfo[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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. ein , .psm1ein , .dlloder .ps1 eine .psd1Datei. Dateipfade sind optional. Freihalterzeichen sind nicht zulässig. Sie können auch Modulnamen und Dateinamen an Import-Module.

Wenn Sie einen Pfad weglassen, Import-Module sucht das Modul in den Pfaden, die in der $env:PSModulePath Umgebungsvariable gespeichert sind.

Geben Sie nach Möglichkeit nur den Namen des Moduls an. Wenn Sie einen Dateinamen angeben, werden nur die in dieser Datei implementierten Elemente importiert. Wenn das Modul andere Dateien enthält, werden sie nicht importiert, und Möglicherweise fehlen wichtige Elemente des Moduls.

Hinweis

Während es möglich ist, eine Skriptdatei () als Modul zu importieren, sind Skriptdateien in der Regel nicht wie skriptmodule Datei (.ps1.psm1) strukturiert. Das Importieren einer Skriptdatei garantiert nicht, dass sie als Modul verwendet werden kann. Weitere Informationen finden Sie unter about_Modules.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-NoClobber

Verhindert das Importieren von Befehlen mit den gleichen Namen wie vorhandene Befehle in der aktuellen Sitzung. Importiert standardmäßig Import-Module alle exportierten Modulbefehle.

Befehle mit denselben Namen können Befehle in der Sitzung ausblenden oder ersetzen. Um Konflikte bei Befehlsnamen in einer Sitzung zu vermeiden, verwenden Sie die Parameter Prefix oder NoClobber. Weitere Informationen (womöglich nur in englischer Sprache) zu Namenskonflikten und zur Befehlsrangfolge finden Sie unter „Module und Namenskonflikte“ in about_Modules und about_Command_Precedence.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Type:SwitchParameter
Aliases:NoOverwrite
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Gibt ein Objekt zurück, das das Element darstellt, mit dem Sie arbeiten. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Prefix

Gibt ein Präfix an, das dieses Cmdlet den Nomen in den Namen importierter Modulelemente hinzufügt.

Verwenden Sie diesen Parameter, um Namenskonflikte zu vermeiden, die auftreten können, wenn verschiedene Elemente in der Sitzung den gleichen 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-UTCDate, und es wird nicht mit dem ursprünglichen Get-Date Cmdlet verwechselt.

Der Wert dieses Parameters hat Vorrang vor der DefaultCommandPrefix-Eigenschaft des Moduls, die das Standardpräfix angibt.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Beim Importieren eines Moduls aus einer anderen Sitzung in die aktuelle Sitzung können Sie die Cmdlets aus dem Modul in der aktuellen Sitzung verwenden, so wie Sie Cmdlets aus einem lokalen Modul verwenden würden. Befehle, die die Remote-Cmdlets verwenden, werden 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 Import-PSSession Cmdlets, um bestimmte Module aus einer Sitzung zu importieren.

Import-Module PowerShell-Kernmodule können nicht aus einer anderen Sitzung importiert werden. Die wichtigsten PowerShell-Module weisen Namen auf, die mit Microsoft.PowerShell beginnen.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Type:PSSession
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-RequiredVersion

Gibt eine Version des Moduls an, das dieses Cmdlet importiert. Wenn die Version nicht installiert ist, Import-Module wird ein Fehler generiert.

Importiert das Modul standardmäßig, Import-Module ohne die Versionsnummer zu überprüfen.

Verwenden Sie zum Angeben einer Mindestversion den MinimumVersion-Parameter. Sie können auch die Parameter "Module " und "Version " des schlüsselworts #Requires verwenden, um eine bestimmte Version eines Moduls in einem Skript zu benötigen.

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 nicht automatisch in zukünftigen Versionen des Windows-Betriebssystems 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.

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Gibt einen Bereich an, in den dieses Cmdlet das Modul importiert.

Zulässige Werte für diesen Parameter:

  • Global. Für alle Befehle in der Sitzung verfügbar. Entspricht dem Global-Parameter.
  • Lokal Nur im aktuellen Bereich verfügbar.

Wenn Import-Module Cmdlet standardmäßig aus der Eingabeaufforderung, Skriptdatei oder Skriptblock aufgerufen wird, werden alle Befehle in den globalen Sitzungszustand importiert. Sie können den -Scope Local Parameter verwenden, um Modulinhalte im Skript- oder Skriptblockbereich zu importieren.

Wenn sie aus einem anderen Modul aufgerufen wird, Import-Module importiert Cmdlet die Befehle in einem Modul, einschließlich Befehle aus geschachtelten Modulen, in den Sitzungszustand des Anrufers. Geben -Scope Global Sie an, oder -Global gibt an, dass dieses Cmdlet Module in den globalen Sitzungszustand importiert, sodass sie für alle Befehle in der Sitzung verfügbar sind.

Der Global-Parameter entspricht dem Scope-Parameter mit dem Wert Global.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Type:String
Accepted values:Local, Global
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipEditionCheck

Überspringt CompatiblePSEditions das Kontrollkästchen im Feld.

Ermöglicht das Laden eines Moduls aus dem "$($env:windir)\System32\WindowsPowerShell\v1.0\Modules"CompatiblePSEditions Modulverzeichnis in PowerShell Core, wenn dieses Modul im Manifestfeld nicht angegeben Core wird.

Beim Importieren eines Moduls aus einem anderen Pfad führt dieser Schalter nichts aus, da die Überprüfung nicht ausgeführt wird. Auf Linux und macOS macht dieser Switch nichts.

Weitere Informationen finden Sie unter about_PowerShell_Editions.

Warnung

Import-Module -SkipEditionCheck es ist wahrscheinlich noch nicht, ein Modul zu importieren. Selbst wenn es erfolgreich ist, schlägt das Aufrufen eines Befehls aus dem Modul später fehl, wenn er versucht, eine inkompatible API zu verwenden.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseWindowsPowerShell

Lädt Modul mit Windows PowerShell Kompatibilitätsfunktionen. Weitere Informationen finden Sie unter about_Windows_PowerShell_Compatibility .

Type:SwitchParameter
Aliases:UseWinPS
Position:Named
Default value:False
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Variable

Gibt ein Array von Variablen an, die dieses Cmdlet aus dem Modul in die aktuelle Sitzung importiert. Geben Sie eine Liste der Variablen ein. Platzhalterzeichen sind zulässig.

Einige Module exportieren automatisch ausgewählte Variablen in Ihre Sitzung, wenn Sie das Modul importieren. Mit diesem Parameter können Sie eine Auswahl aus den exportierten Variablen treffen.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

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

Standardmäßig Import-Module wird keine Ausgabe generiert. 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 werden. Das heißt, das Modulverzeichnis muss in ein Verzeichnis kopiert werden, das auf Ihren lokalen Computer zugreifen kann. Weitere Informationen finden Sie unter about_Modules.

    Sie können auch die Parameter PSSession und CIMSessionverwenden, um Module zu importieren, die auf Remotecomputern installiert sind. Befehle, die die Cmdlets in diesen Modulen verwenden, werden jedoch 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 element, das standardmäßig zuletzt importiert wurde. Variablen und Aliase werden ersetzt, und die Originale sind nicht zugänglich. Funktionen, Cmdlets und Anbieter werden nur von den neuen Mitgliedern abgeschattet. Sie können mit dem Namen ihres Snap-Ins, Moduls oder Funktionspfads auf den Befehlsnamen zugreifen.

  • Um die Formatierungsdaten für Befehle zu aktualisieren, die aus einem Modul importiert wurden, verwenden Sie das Update-FormatData Cmdlet. 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 Kernbefehle, die mit PowerShell installiert sind, in Module 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, wie z. B. die von dem New-PSSession Cmdlet 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.

  • In Windows PowerShell 2.0 wurden einige der Eigenschaftenwerte des Modulobjekts, z. B. die Werte "ExportCmdlets" und "NestedModules", erst gefüllt, wenn das Modul importiert wurde.

  • Wenn Sie versuchen, ein Modul zu importieren, das gemischte Assemblys enthält, die nicht mit Windows PowerShell 3.0+ kompatibel sind, Import-Module gibt eine Fehlermeldung wie folgt zurück.

    Import-Module: Gemischte Modusassembly wird mit Version 'v2.0.50727' der Laufzeit erstellt und kann nicht in die 4.0-Laufzeit geladen werden, ohne zusätzliche Konfigurationsinformationen.

    Dieser Fehler tritt auf, wenn ein Modul, das für Windows PowerShell 2.0 konzipiert ist, mindestens eine gemischte Modulassembly enthält. Eine gemischte Modulassembly, die sowohl verwalteten als auch nicht verwalteten Code enthält, z. B. C++ und C#.

    Um ein Modul zu importieren, das gemischte Assemblys enthält, starten Sie Windows PowerShell 2.0 mithilfe des folgenden Befehls, und versuchen Sie dann erneut den Import-Module Befehl.

    PowerShell.exe -Version 2.0

  • Um die CIM-Sitzung zu verwenden, müssen auf dem Remotecomputer WS-Management-Remoting und Windows-Verwaltungsinstrumentation (WMI) verfügbar sein, wobei es sich um die Microsoft-Implementierung des Common Information Model (CIM)-Standards handelt. Der Computer muss auch den WMI-Anbieter für die Modulerkennung oder einen anderen CIM-Anbieter haben, der die gleichen grundlegenden Funktionen hat.

    Sie können das CIM-Sitzungsfeature auf Computern verwenden, auf denen kein Windows-Betriebssystem und auf Windows-Computern ausgeführt werden, die PowerShell haben, aber keine PowerShell-Remoting aktiviert haben.

    Sie können auch die CIM-Parameter verwenden, um CIM-Module von Computern abzurufen, die PowerShell-Remoting aktiviert haben, 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.

  • Importiert standardmäßig Import-Module Module im globalen Bereich, auch wenn sie aus einem absteigenden Bereich aufgerufen werden. Der Bereich auf oberster Ebene und alle absteigenden Bereiche haben Zugriff auf die exportierten Elemente des Moduls.

    Beschränkt den Import in einem absteigenden Bereich -Scope Local auf diesen Bereich und alle absteigenden Bereiche. Übergeordnete Bereiche werden dann nicht angezeigt.

    Hinweis

    Get-Module zeigt alle In der aktuellen Sitzung geladenen Module an. Dies umfasst Module, die lokal in einem absteigenden Bereich geladen wurden. Verwenden Sie Get-Command -Module modulename , um zu sehen, welche Elemente im aktuellen Bereich geladen werden.

    Import-Module lädt keine Klassen- und Aufzählungsdefinitionen im Modul. Verwenden Sie die using module Anweisung am Anfang Ihres Skripts. Dadurch wird das Modul importiert, einschließlich der Klassen- und Aufzählungsdefinitionen. Weitere Informationen finden Sie unter about_Using.