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





Argomenti della Guida