Ruft die Module ab, die in die aktuelle Sitzung importiert wurden oder importiert werden können.
Syntax
Get-Module [-Alle] [-ListAvailable] [-Name <string[]>] [<CommonParameters>] Get-Module [[-Name] <string[]>] [<CommonParameters>]
Beschreibung
Mit dem Cmdlet "Get-Module" werden die Module abgerufen, die in die Sitzung importiert wurden oder importiert werden können.
Get-Module ruft nur Module ab, importiert sie jedoch nicht. Mit Import-Module können Sie die Module in die Sitzung importieren.
Parameter
-Alle
Ruft Modulobjekte für alle Moduldateien ab.
Ohne den All-Parameter ruft Get-Module nur das Modulobjekt für die Standardmoduldatei ab. Das Cmdlet wählt die Dateitypen in der folgenden Reihenfolge aus: Manifestdateien (".psd1"), Skriptmoduldateien (".psm1") und binäre Moduldateien (".dll").
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-ListAvailable
Ruft alle Module ab, die in die Sitzung importiert werden können. Get-Module ruft die Module in den von der Umgebungsvariablen "$env:PSModulePath" angegebenen Pfaden ab.
Wenn dieser Parameter nicht angegeben wird, werden von Get-Module nur die Module abgerufen, die in die Sitzung importiert wurden.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Name <string[]>
Ruft nur Module mit den angegebenen Namen oder Namensmustern ab. Platzhalter sind zulässig. Sie können die Namen auch über die Pipeline an Get-Module übergeben.
Erforderlich? |
false |
Position? |
1 |
Standardwert |
All imported or available modules. |
Pipelineeingaben akzeptieren? |
true (ByValue) |
Platzhalterzeichen akzeptieren? |
true |
<CommonParameters>
Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.
Eingaben und Ausgaben
Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.
Eingaben |
System.String Sie können Modulnamen über die Pipeline an Get-Module übergeben. |
Ausgaben |
System.Management.Automation.PSModuleInfo Get-Module gibt Objekte zurück, die die Module darstellen. |
Hinweise
Sie können auch über den Alias "gmo" auf Get-Module verweisen. Weitere Informationen finden Sie unter "about_Aliases".
Der All-Parameter gibt Modulobjekte für alle Dateien mit der Dateinamenerweiterung ".dll" zurück, auch wenn sie keine Cmdlets oder Anbieter implementieren.
Beispiel 1
C:\PS>get-module Beschreibung ----------- Mit diesem Befehl werden die Module abgerufen, die in die aktuelle Sitzung importiert wurden.
Beispiel 2
C:\PS>get-module -listAvailable Beschreibung ----------- Mit diesem Befehl werden die Module abgerufen, die in die aktuelle Sitzung importiert werden können. Get-Module sucht im Pfad, der von der Umgebungsvariablen "$env:PSModulePath" angegeben wird, nach verfügbaren Modulen. Weitere Informationen über PSModulePath finden Sie unter "about_Modules" und unter "about_Environment_Variables".
Beispiel 3
C:\PS>get-module -listAvailable -all Beschreibung ----------- Mit diesem Befehl werden alle exportierten Dateien für alle verfügbaren Module abgerufen.
Beispiel 4
C:\PS>get-module | get-member -type property TypeName: System.Management.Automation.PSModuleInfo Name MemberType Definition ---- ---------- ---------- AccessMode Property System.Management.Automation.ModuleAcc Description Property System.String Description {get;set;} ExportedAliases Property System.Collections.Generic.Dictionary` ExportedCmdlets Property System.Collections.Generic.Dictionary` ExportedFunctions Property System.Collections.Generic.Dictionary` ExportedVariables Property System.Collections.Generic.Dictionary` Guid Property System.Guid Guid {get;} ModuleBase Property System.String ModuleBase {get;} ModuleType Property System.Management.Automation.ModuleTyp Name Property System.String Name {get;} NestedModules Property System.Collections.ObjectModel.ReadOnl OnRemove Property System.Management.Automation.ScriptBlo Path Property System.String Path {get;} PrivateData Property System.Object PrivateData {get;set;} SessionState Property System.Management.Automation.SessionSt Version Property System.Version Version {get;} Beschreibung ----------- Mit diesem Befehl werden die Eigenschaften des PSModuleInfo-Objekts abgerufen, das von Get-Module zurückgegeben wird. Für jede Moduldatei ist ein Objekt vorhanden. Sie können die Eigenschaften verwenden, um die Modulobjekte zu formatieren und zu filtern. Weitere Informationen zu Eigenschaften finden Sie unter "PSModule-Eigenschaften" in der MSDN Library (Microsoft Developer Network) unter "https://go.microsoft.com/fwlink/?LinkId=143624" (möglicherweise auf Englisch).
Beispiel 5
C:\PS>get-module -listAvailable -all | format-table -property name, moduletype, path -groupby name -auto Name: MyTestCmdlets Name ModuleType Path ---- ---------- ---- MyTestCmdlets Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\TestCmdlets\TestCmdlets.dll Name: PSDiagnostics Name ModuleType Path ---- ---------- ---- PSDiagnostics Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSDiagnostics\PSDiagnostics.psd1 PSDiagnostics Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSDiagnostics\PSDiagnostics.psm1 Name: FileTransfer Name ModuleType Path ---- ---------- ---- FileTransfer Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer\FileTransfer.psd1 Beschreibung ----------- Mit diesem Befehl werden alle (importierten und verfügbaren) Moduldateien abgerufen und nach dem Modulnamen angeordnet. Auf diese Weise können Sie die Moduldateien anzeigen, die von den einzelnen Skripts exportiert werden.
Beispiel 6
C:\PS>$m = get-module -list -name FileTransfer | where {$_.moduletype -eq "Manifest"} C:\PS> get-content $m.path @{ GUID="{8FA5064B-8479-4c5c-86EA-0D311FE48875}" Author="Microsoft Corporation" CompanyName="Microsoft Corporation" Copyright="© Microsoft Corporation. All rights reserved." ModuleVersion="1.0.0.0" Description="Windows Powershell File Transfer Module" PowerShellVersion="2.0" CLRVersion="2.0" NestedModules="Microsoft.BackgroundIntelligentTransfer.Management" FormatsToProcess="FileTransfer.Format.ps1xml" RequiredAssemblies=Join-Path $psScriptRoot "Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll" } Beschreibung ----------- Mit diesen Befehlen wird der Inhalt des Modulmanifests für das Dateiübertragungsmodul von Windows PowerShell angezeigt. Mit dem ersten Befehl wird das PSModuleInfo-Objekt abgerufen, das das Modulmanifest für das Dateiübertragungsmodul darstellt. Das Objekt wird in der Variablen "$m" gespeichert. Im zweiten Befehl wird mit der punktierten Notation der Pfad zur Manifestdatei abgerufen, der in der Path-Eigenschaft des Objekts gespeichert ist. Anschließend wird mit dem Cmdlet "Get-Content" der Inhalt der Manifestdatei im angegebenen Pfad abgerufen. Module müssen keine Manifestdateien enthalten. Wenn sie über eine Manifestdatei verfügen, muss ein Manifest nur eine Versionsnummer enthalten. Manifestdateien stellen jedoch oft nützliche Informationen zu einem Modul, seinen Anforderungen und seinem Inhalt bereit.
Beispiel 7
C:\PS>get-module -listAvailable -name FileTransfer | format-list -property * Name : FileTransfer Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer\FileTransfer.psd1 Description : Powershell File Transfer Module Guid : 8fa5064b-8479-4c5c-86ea-0d311fe48875 ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer PrivateData : Version : 1.0.0.0 ModuleType : Manifest AccessMode : ReadWrite ExportedFunctions : {} ExportedCmdlets : {} NestedModules : {} ExportedVariables : {} ExportedAliases : {} SessionState : System.Management.Automation.SessionState OnRemove : Beschreibung ----------- Mit diesem Befehl werden alle Eigenschaften des FileTransfer-Moduls in einer Liste angezeigt. Da das Modul noch nicht in die Sitzung importiert wurde, weisen die Eigenschaft "Exported*" und die Eigenschaft "NestedModules" noch keinen Inhalt auf. Diese Eigenschaften werden erst aufgefüllt, nachdem die Elemente exportiert und die geschachtelten Module instanziiert wurden.
Beispiel 8
C:\PS>dir (get-module -listavailable FileTransfer).modulebase Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 12/16/2008 12:36 PM en-US -a--- 11/19/2008 11:30 PM 16184 FileTransfer.Format.ps1xml -a--- 11/20/2008 11:30 PM 1044 FileTransfer.psd1 -a--- 12/16/2008 12:20 AM 108544 Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll Beschreibung ----------- Mit diesem Befehl werden die Dateien im Modulverzeichnis aufgeführt. Dies ist eine andere Möglichkeit, den Inhalt des Moduls vor dem Import zu bestimmen. Einige Module enthalten möglicherweise Hilfedateien oder ReadMe-Dateien, die das Modul beschreiben.
Siehe auch