Ottiene i moduli importati o che possono essere importati nella sessione corrente.
Sintassi
Get-Module [-Tutti] [-ListAvailable] [-Name <string[]>] [<CommonParameters>] Get-Module [[-Name] <string[]>] [<CommonParameters>]
Descrizione
Il cmdlet Get-Module ottiene i moduli importati o che possono essere importati nella sessione corrente.
Get-Module non importa i moduli; li ottiene soltanto. Per importare i moduli nella sessione, utilizzare Import-Module.
Parametri
-Tutti
Ottiene gli oggetti modulo per tutti i file di modulo.
Senza il parametro All, Get-Module ottiene solo l'oggetto modulo per il file di modulo predefinito. Il cmdlet seleziona i tipi di file nell'ordine seguente: file manifesto (psd1), file modulo di script (psm1) e file modulo binari (dll).
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-ListAvailable
Ottiene tutti i moduli che possono essere importati nella sessione. Get-Module ottiene i moduli dei percorsi specificati dalla variabile di ambiente $env:PSModulePath.
Senza questo parametro, Get-Module ottiene solo i moduli importati nella sessione.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Name <string[]>
Ottiene solo i moduli con i modelli di nome o i nomi specificati. È consentito l'utilizzo di caratteri jolly. È inoltre possibile reindirizzare i nomi a Get-Module.
Obbligatorio? |
false |
Posizione? |
1 |
Valore predefinito |
All imported or available modules. |
Accettare input da pipeline? |
true (ByValue) |
Accettare caratteri jolly? |
true |
<CommonParameters>
Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.
Input e output
Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.
Input |
System.String È possibile reindirizzare i nomi dei moduli a Get-Module. |
Output |
System.Management.Automation.PSModuleInfo Get-Module restituisce oggetti che rappresentano i moduli. |
Note
È anche possibile fare riferimento a Get-Module tramite il relativo alias, "gmo". Per ulteriori informazioni, vedere about_Aliases.
Il parametro All restituisce oggetti modulo per tutti i file con estensione dll, anche se non implementano cmdlet o provider.
Esempio 1
C:\PS>get-module Descrizione ----------- Tramite questo comando vengono ottenuti i moduli importati nella sessione corrente.
Esempio 2
C:\PS>get-module -listAvailable Descrizione ----------- Tramite questo comando vengono ottenuti i moduli che possono essere importati nella sessione corrente. Get-Module cerca i moduli disponibili nel percorso specificato dalla variabile di ambiente $env:PSModulePath. Per ulteriori informazioni su PSModulePath, vedere about_Modules e about_Environment_Variables.
Esempio 3
C:\PS>get-module -listAvailable -all Descrizione ----------- Tramite questo comando vengono ottenuti tutti i file esportati per tutti i moduli disponibili.
Esempio 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;} Descrizione ----------- Tramite questo comando vengono ottenute le proprietà dell'oggetto PSModuleInfo restituito da Get-Module. È presente un oggetto per ogni file di modulo. È possibile utilizzare le proprietà per formattare e filtrare gli oggetti modulo. Per ulteriori informazioni sulle proprietà, vedere l'argomento relativo alle proprietà PSModule in MSDN Library all'indirizzo https://go.microsoft.com/fwlink/?LinkId=143624 (le informazioni potrebbero essere in lingua inglese).
Esempio 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 Descrizione ----------- Tramite questo comando vengono ottenuti tutti i file di modulo (importati e disponibili) e successivamente vengono raggruppati in base al nome del modulo. In questo modo è possibile visualizzare i file di modulo che ogni script sta esportando.
Esempio 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" } Descrizione ----------- Tramite questi comandi viene visualizzato il contenuto del manifesto del modulo File Transfer di Windows PowerShell. Con il primo comando viene ottenuto l'oggetto PSModuleInfo che rappresenta il manifesto del modulo File Transfer. L'oggetto viene salvato nella variabile $m. Nel secondo comando viene utilizzata la notazione con punto per ottenere il percorso al file manifesto, archiviato nella proprietà Path dell'oggetto. Successivamente viene utilizzato il cmdlet Get-Content per ottenere il contenuto del file manifesto nel percorso specificato. Non è necessario che i moduli dispongano di file manifesto. In tal caso, un manifesto è necessario solo per includere un numero di versione. Tuttavia, i file manifesto spesso forniscono informazioni utili su un modulo, sui suoi requisiti e sul suo contenuto.
Esempio 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 : Descrizione ----------- Tramite questo comando tutte le proprietà del modulo FileTransfer vengono visualizzate in un elenco. Poiché il modulo non è stato ancora importato nella sessione, le proprietà Exported* e la proprietà NestedModules non sono ancora definite. Queste proprietà vengono definite solo dopo l'esportazione degli elementi e la creazione delle istanze dei moduli nidificati.
Esempio 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 Descrizione ----------- Tramite questo comando vengono elencati i file nella directory del modulo. Si tratta di un'altra modalità per determinare ciò che si trova in un modulo prima di importarlo. Alcuni moduli potrebbero disporre di file della Guida o di file ReadMe che descrivono il modulo.
Vedere anche