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