Get-Module
Ruft die Module ab, die in die aktuelle Sitzung importiert wurden oder importiert werden können.
Syntax
Get-Module [-All] [-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
-All
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 |
Alle importierten oder verfügbaren Module. |
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.