ARGOMENTO
about_Modules
DESCRIZIONE BREVE
Illustra come installare, importare e utilizzare i moduli di
Windows PowerShell.
DESCRIZIONE DETTAGLIATA
Un modulo è un pacchetto che contiene comandi di Windows
PowerShell, ad esempio cmdlet, provider, funzioni, variabili e alias.
I moduli consentono agli utenti che scrivono comandi di
organizzarli e condividerli con altri. Gli utenti che ricevono i
moduli possono aggiungere i comandi dei moduli alle sessioni di
Windows PowerShell e utilizzarli come se si trattasse di comandi
predefiniti.
In questo argomento viene illustrato come utilizzare i moduli di
Windows PowerShell. Per informazioni sulla scrittura dei moduli
di Windows PowerShell, vedere l'argomento relativo alla scrittura
di un modulo di Windows PowerShell nella MSDN Library all'indirizzo
https://go.microsoft.com/fwlink/?LinkId=144916.
MODALITÀ DI UTILIZZO DI UN MODULO
Per utilizzare un modulo, effettuare le seguenti attività:
1. Installare il modulo. Questa operazione viene spesso
eseguita automaticamente.
2. Importare il modulo nella sessione di Windows PowerShell.
3. Trovare i comandi aggiunti dal modulo.
4. Utilizzare i comandi aggiunti dal modulo.
In questo argomento viene illustrato come eseguire queste
attività. Vengono inoltre fornite altre informazioni utili
relative alla gestione dei moduli.
MODALITÀ DI INSTALLAZIONE DI UN MODULO
Se si riceve un modulo sotto forma di cartella contenente file, è
necessario installarlo nel computer prima di poterlo importare in
Windows PowerShell.
La maggior parte dei moduli vengono installati automaticamente.
In Windows PowerShell sono disponibili diversi moduli
preinstallati. In Windows Server 2008 R2, tramite l'Aggiunta
guidata funzionalità in Server Manager vengono automaticamente
installati i moduli selezionati. Molti altri moduli vengono
forniti in un programma di installazione che li installa nel computer.
Per installare una cartella di modulo:
1. Creare una directory Modules per l'utente corrente, se non
è già esistente.
Per creare una directory Modules, digitare:
new-item -type directory -path
$home\Documents\WindowsPowerShell\Modules
2. Copiare l'intera cartella del modulo nella directory Modules.
È possibile utilizzare qualsiasi metodo per copiare la
cartella, inclusi Esplora risorse, Cmd.exe e Windows
PowerShell.
In Windows PowerShell utilizzare il cmdlet Copy-Item. Ad
esempio, per copiare la cartella MyModule da
C:\ps-test\MyModule nella directory Modules, digitare:
copy-item -path c:\ps-test\MyModule -dest
$home\Documents\WindowsPowerShell\Modules
È possibile installare un modulo in qualsiasi percorso, ma
l'installazione dei moduli in un percorso di modulo predefinito
ne semplifica la gestione. Per ulteriori informazioni sui
percorsi di modulo predefiniti, vedere la sezione "Percorsi di
modulo e PSModulePath".
MODALITÀ DI INDIVIDUAZIONE DEI MODULI INSTALLATI
Quando viene installato un modulo, è possibile importarlo nella
sessione di Windows PowerShell.
Per individuare i moduli installati in un percorso predefinito,
al prompt di Windows PowerShell digitare:
get-module -listAvailable
Per individuare i moduli che sono già stati importati nella
sessione, digitare quanto segue al prompt di Windows PowerShell:
get-module
Per ulteriori informazioni sul cmdlet Get-Module, vedere Get-Module.
MODALITÀ DI IMPORTAZIONE DI UN MODULO
Per utilizzare i comandi in un modulo, importare il modulo in una
sessione di Windows PowerShell.
Per importare i moduli da un percorso di modulo predefinito nella
sessione corrente, utilizzare il formato di comando seguente.
import-module <nome-modulo>
Ad esempio, con il comando seguente viene importato il modulo
BitsTransfer nella sessione corrente.
import-module BitsTransfer
Per importare un modulo che non si trova in un percorso di modulo
predefinito, utilizzare il percorso completo della cartella del
modulo nel comando.
Ad esempio, per aggiungere il modulo TestCmdlets che si trova
nella directory C:\ps-test alla sessione, digitare:
import-module c:\ps-test\TestCmdlets
Per ulteriori informazioni sull'aggiunta di moduli alla sessione,
vedere Import-Module.
MODALITÀ DI IMPORTAZIONE DI TUTTI I MODULI NELLA SESSIONE DI WINDOWS
POWERSHELL In Windows 7 e Windows Server 2008 R2, mediante
l'attività "Importa tutti i moduli" viene aperta una sessione di
Windows PowerShell che include tutti i moduli e gli snap-in di
Windows PowerShell disponibili.
Per avviare una sessione di Windows PowerShell con tutti i moduli
e gli snap-in di Windows PowerShell disponibili, effettuare la
procedura seguente.
-- Fare clic con il pulsante destro del mouse sull'icona di
Windows PowerShell nella barra delle applicazioni, quindi
scegliere "Importa tutti i moduli".
Nota: per impostazione predefinita, in Windows Server 2008 R2
l'icona di Windows PowerShell è bloccata sulla barra delle
applicazioni. È tuttavia necessario avviare Windows PowerShell
una volta per rendere disponibile l'attività "Importa tutti i moduli".
Nelle altre versioni di Windows, per importare tutti i moduli
disponibili nella sessione, digitare quanto segue al prompt di
Windows PowerShell:
get-module -listAvailable | import-module
MODALITÀ DI INDIVIDUAZIONE DEI COMANDI IN UN MODULO
Dopo avere importato un modulo nella sessione di Windows
PowerShell, è possibile utilizzare i comandi nel modulo.
Per trovare i comandi aggiunti da un modulo, digitare quanto
segue al prompt di Windows PowerShell:
get-command -module <nome-modulo>
Ad esempio, per trovare i comandi aggiunti dal modulo
BitsTransfer, digitare:
get-command -module BitsTransfer
Per ulteriori informazioni sul cmdlet Get-Command, vedere Get-Command.
MODALITÀ DI ACCESSO ALLA GUIDA PER I COMANDI IN UN MODULO
Se il modulo contiene argomenti della Guida per i comandi che
esporta, tali argomenti verranno visualizzati tramite il cmdlet
Get-Help. Utilizzare lo stesso formato di comando utilizzato per
qualsiasi argomento della Guida in Windows PowerShell.
Per trovare l'argomento della Guida per i comandi in un modulo,
digitare quanto segue al prompt di Windows PowerShell:
get-help <nome-comando>
Per informazioni più dettagliate, digitare:
get-help <nome-comando> -detailed
Ad esempio, per trovare informazioni dettagliate sul cmdlet
Start-BitsTransfer, digitare:
get-help Start-BitsTransfer -detailed
Per ulteriori informazioni sul modulo Get-Help, vedere Get-Help.
MODALITÀ DI RIMOZIONE DI UN MODULO
Quando si rimuove un modulo, i comandi aggiunti dal modulo
vengono eliminati dalla sessione.
Per rimuovere un modulo dalla sessione, utilizzare il formato di
comando seguente.
remove-module <nome-modulo>
Ad esempio, con il comando seguente viene rimosso il modulo
BitsTransfer dalla sessione corrente.
remove-module BitsTransfer
La rimozione di un modulo annulla l'operazione di importazione di
un modulo. Con la rimozione il modulo non viene disinstallato.
Per ulteriori informazioni sul cmdlet Remove-Module, vedere
Remove-Module.
MODALITÀ DI IMPORTAZIONE DI UN MODULO IN OGNI SESSIONE
Con il comando Import-Module vengono importati moduli nella
sessione di Windows PowerShell corrente. Questo comando ha
effetto solo sulla sessione corrente.
Per importare un modulo in ogni sessione di Windows PowerShell
avviata, aggiungere un comando Import-Module al profilo di
Windows PowerShell.
Per ulteriori informazioni sui profili, vedere about_Profiles.
PERCORSI DI MODULO E PSMODULEPATH
Per i moduli di Windows PowerShell sono disponibili due percorsi
predefiniti, uno per il sistema e uno per l'utente corrente.
Sistema: $pshome\Modules
(%windir%\System32\WindowsPowerShell\v1.0\Modules)
Utente corrente: $home\Documents\WindowsPowerShell\Modules
(%UserProfile%\Documents\WindowsPowerShell\Modules)
- oppure
$home\My Documents\WindowsPowerShell\Modules
(%UserProfile%\My Documents\WindowsPowerShell\Modules)
Nota: in Windows Vista, Windows Server 2008 e versioni
successive di Windows, per aggiungere o modificare file nella
directory %Windir%\System32, avviare Windows PowerShell con
l'opzione "Esegui come amministratore".
È possibile modificare i percorsi di modulo predefiniti nel
sistema modificando il valore della variabile di ambiente PSModulePath
($env:psmodulepath). La variabile di ambiente PSModulePath viene
modellata sulla variabile di ambiente Path e ha lo stesso formato.
Per visualizzare i percorsi di modulo predefiniti, digitare:
$env:psmodulepath
Per aggiungere un percorso di modulo predefinito, utilizzare il
formato di comando seguente.
$env:psmodulepath = $env:psmodulepath + ";<path>"
Il punto e virgola (;) nel comando separa il nuovo percorso dal
percorso che lo precede nell'elenco.
Ad esempio, per aggiungere la directory "C:\ps-test\Modules",
digitare:
$env:psmodulepath + ";c:\ps-test\Modules"
Quando si aggiunge un percorso a PSModulePath, i comandi
Get-Module e Import-Module includono i moduli in tale percorso.
Il valore impostato ha effetto solo sulla sessione corrente. Per
rendere permanente la modifica, aggiungere il comando al profilo
di Windows PowerShell o utilizzare l'elemento Sistema nel Pannello di
controllo per modificare il valore della variabile di ambiente
PSModulePath nel Registro di sistema.
Per ulteriori informazioni sulla variabile PSModulePath, vedere
about_Environment_Variables.
MODULI E CONFLITTI DI NOMI
I conflitti di nomi si verificano quando nella sessione sono
presenti più comandi con lo stesso nome. L'importazione di un
modulo provoca un conflitto di nomi quando nel modulo sono
presenti comandi con lo stesso nome di comandi o elementi della
sessione.
A causa dei conflitti di nomi alcuni comandi potrebbero venire
nascosti o sostituiti.
-- Nascosto. Un comando è nascosto quando non è il comando
che viene eseguito quando se ne digita il nome, ma può
essere eseguito utilizzando un altro metodo, ad esempio
qualificando il nome del comando con il nome del modulo o
dello snap-in in cui ha avuto origine.
-- Sostituito. Un comando è sostituito quando non può essere
eseguito poiché è stato sovrascritto da un comando con lo
stesso nome. Anche se si rimuove il modulo che ha
provocato il conflitto, non è possibile eseguire un
comando sostituito a meno che non si riavvii la sessione.
Import-Module potrebbe aggiungere comandi che ne nascondono e ne
sostituiscono altri nella sessione corrente. Inoltre, i comandi
nella sessione possono nascondere comandi aggiunti dal modulo.
Per evitare i conflitti di nomi, utilizzare il parametro Prefix
di Import-Command per creare nomi univoci per i comandi importati.
È inoltre possibile utilizzare i parametri Alias, Cmdlet,
Function e Variable di Import-Module per selezionare solo i
comandi che si desidera importare ed escludere quelli che
provocano conflitti di nomi nella sessione.
Anche se un comando è nascosto, è possibile eseguirlo
qualificandone il nome con il nome del modulo o dello snap-in in
cui ha avuto origine.
Le regole di precedenza dei comandi di Windows PowerShell
determinano quale comando viene eseguito quando la sessione
include comandi con lo stesso nome.
Ad esempio, quando una sessione include una funzione e un cmdlet
con lo stesso nome, per impostazione predefinita in Windows
PowerShell viene eseguita la funzione. Quando la sessione include
comandi dello stesso tipo con lo stesso nome, ad esempio due
cmdlet con lo stesso nome, per impostazione predefinita viene
eseguito il comando aggiunto più recentemente.
Per ulteriori informazioni, incluse una spiegazione delle regole
di precedenza e istruzioni per l'esecuzione di comandi nascosti,
vedere about_Command_Precedence.
MODULI E SNAP-IN
È possibile aggiungere comandi alla sessione da moduli e snap-in.
I moduli possono aggiungere tutti i tipi di comandi, tra cui
cmdlet, provider e funzioni, ed elementi, quali variabili, alias
e unità di Windows PowerShell. Gli snap-in possono aggiungere
solo cmdlet e provider.
In effetti, benché sia possibile aggiungere funzioni, alias,
variabili e unità alla sessione digitandoli o eseguendo uno
script per aggiungerli, tutti i cmdlet e i provider nella
sessione provengono da un modulo o da uno snap-in.
Prima di rimuovere un modulo o uno snap-in dalla sessione,
utilizzare i comandi seguenti per determinare quali comandi
verranno rimossi.
Per trovare l'origine di un cmdlet nella sessione, utilizzare il
formato di comando seguente:
get-command <nome-cmdlet> | format-list -property verb, noun,
pssnapin, module
Ad esempio, per trovare l'origine del cmdlet Get-Date, digitare:
get-command get-date | format-list -property verb, noun,
pssnapin, module
Per ulteriori informazioni sugli snap-in di Windows PowerShell, vedere
about_PSSnapins.
VEDERE ANCHE
about_Command_Precedence
about_PSSnapins
Get-Command
Get-Help
Get-Module
Import-Module
Remove-Module