about_Profiles

ARGOMENTO
    about_Profiles

DESCRIZIONE BREVE
    Descrive come creare e utilizzare un profilo di Windows PowerShell.

DESCRIZIONE DETTAGLIATA
    È possibile creare un profilo di Windows PowerShell per 
    personalizzare l'ambiente e aggiungere elementi specifici della 
    sessione a ogni sessione di Windows PowerShell che si avvia. 

    Un profilo di Windows PowerShell è uno script che viene eseguito 
    all'avvio di Windows PowerShell. È possibile utilizzare il 
    profilo come script di accesso per personalizzare l'ambiente. 
    È possibile aggiungere comandi, alias, funzioni, variabili, 
    snap-in, moduli e unità di Windows PowerShell. È anche possibile 
    aggiungere altri elementi specifici della sessione al profilo 
    affinché siano disponibili in ogni sessione senza doverli 
    importare o ricreare.

    Windows PowerShell supporta diversi profili per utenti e 
    programmi host.
    Tuttavia, non consente di creare automaticamente i profili. In 
    questo argomento vengono descritti i profili e viene illustrato 
    come creare e gestire profili nel computer.

    Viene descritto come utilizzare il parametro NoProfile della 
    console di Windows PowerShell (PowerShell.exe) per avviare 
    Windows PowerShell senza profili.
    Viene, inoltre, illustrato l'effetto dei criteri di esecuzione 
    di Windows PowerShell sui profili.


 FILE DI PROFILO

    Windows PowerShell supporta diversi file di profilo. Inoltre, i 
    programmi host di Windows PowerShell possono supportare i propri 
    profili specifici dell'host. 

    Ad esempio, la console di Windows PowerShell supporta i file di 
    profilo di base seguenti. I profili sono elencati nell'ordine di 
    precedenza. Il primo profilo ha la precedenza massima. 


        Descrizione                        Path
        -----------                        ----
        Utente corrente, host corrente     $Home\Documenti\WindowsPowerShell\Profile.ps1        
        Utente corrente, tutti gli host    $Home\Documenti\Profile.ps1
        Tutti gli utenti, host corrente    $PsHome\Microsoft.PowerShell_profile.ps1
        Tutti gli utenti, tutti gli host   $PsHome\Profile.ps1

    I percorsi del profilo includono le variabili seguenti:

        - La variabile $PsHome, in cui viene archiviata la directory 
          di installazione di Windows PowerShell.

        - La variabile $Home, in cui viene archiviata la home 
          directory dell'utente corrente.


    Inoltre, altri programmi che ospitano Windows PowerShell possono 
    supportare i propri profili. Ad esempio, Windows PowerShell 
    Integrated Scripting Environment (ISE) supporta i profili 
    specifici dell'host seguenti.


        Descrizione                     Path
        -----------                     -----
        Utente corrente, host corrente  $Home\Documenti\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
        Tutti gli utenti, host corrente $PsHome\Microsoft.PowerShellISE_profile.ps1


    Nella Guida di Windows PowerShell, il profilo "Utente corrente, 
    host corrente" è il profilo frequentemente indicato come "profilo 
    di Windows PowerShell". 

 VARIABILE $PROFILE

    Nella variabile automatica $Profile vengono archiviati i percorsi 
    dei profili di Windows PowerShell disponibili nella sezione corrente. 

    Per visualizzare un percorso di profilo, visualizzare il valore 
    della variabile $Profile. È anche possibile utilizzare la 
    variabile $Profile in un comando per rappresentare un percorso.

    Nella variabile $Profile viene archiviato il percorso del profilo 
    "Utente corrente, host corrente". Gli altri profili vengono 
    salvati in proprietà note della variabile $profile.
    
    Ad esempio, la variabile $Profile presenta i valori seguenti 
    nella console di Windows PowerShell.


        Name                               Descrizione                
        -----------                        -----------
        $Profile                           Utente corrente, host corrente  
        $Profile.CurrentUserCurrentHost    Utente corrente, host corrente  
        $Profile.CurrentUserAllHosts       Utente corrente, tutti gli host     
        $Profile.AllUsersCurrentHost       Tutti gli utenti, host corrente    
        $Profile.AllUsersAllHosts          Tutti gli utenti, tutti gli host       

    Poiché i valori della variabile $Profile cambiano per ogni utente 
    e in ogni applicazione host, assicurarsi di visualizzare i valori 
    delle variabili di profilo in ogni applicazione host di Windows 
    PowerShell che si utilizza.

    Per visualizzare i valori correnti della variabile $Profile, digitare:

        $profile | get-member -type noteproperty

    
    È possibile utilizzare la variabile $Profile in molti comandi. Ad 
    esempio, mediante il comando seguente viene aperto il profilo 
    "Utente corrente, host corrente" in Blocco note:

    notepad $profile 


    Il comando seguente determina se viene creato un profilo "Tutti 
    gli utenti, tutti gli host" nel computer locale:

    test-path $profile.AllUsersAllHosts


 MODALITÀ DI CREAZIONE DI UN PROFILO

    Per creare un profilo di Windows PowerShell, utilizzare il 
    formato di comando seguente:

        if (!(test-path <nome-profilo>)) 
           {new-item -type file -path <nome-profilo> -force}


    Ad esempio per creare un profilo per l'utente corrente 
    nell'applicazione host di Windows PowerShell corrente, utilizzare 
    il comando seguente: 

        if (!(test-path $profile)) 
           {new-item -type file -path $profile -force}


    In questo comando, l'istruzione If impedisce di sovrascrivere un 
    segnaposto esistente con il percorso. Sostituire il valore del 
    segnaposto <percorso-profilo> con il percorso del file di profilo 
    che si desidera creare.

    Nota: per creare i profili "Tutti gli utenti" in Windows Vista e 
          nelle versioni successive di Windows, avviare Windows PowerShell 
          con l'opzione "Esegui come amministratore".


 MODALITÀ DI MODIFICA DI UN PROFILO

    È possibile aprire qualsiasi profilo di Windows PowerShell in un 
    editor di testo, quale Blocco note. 

    Per aprire il profilo dell'utente corrente nell'applicazione host 
    di Windows PowerShell corrente in Blocco note, digitare:

        notepad $profile


    Per aprire gli altri profili, specificare il nome del profilo. Ad 
    esempio, per aprire il profilo per tutti gli utenti di tutte le 
    applicazioni host, digitare:

        notepad $profile.AllUsersAllHosts


    Per applicare le modifiche, salvare il file di profilo e 
    riavviare Windows PowerShell.  
 

 MODALITÀ DI SCELTA DI UN PROFILO

    Se si utilizzano più applicazioni host, inserire gli elementi che 
    si utilizzano in tutte le applicazioni host nel profilo 
    $Profile.CurrentUserAllHosts.
    Inserire gli elementi specifici di un'applicazione host, ad 
    esempio un comando che imposta il colore di sfondo dell'applicazio
    ne host, in un profilo specifico di tale applicazione host.

    Se si è amministratori e si intende personalizzare Windows 
    PowerShell per più utenti, attenersi alle istruzioni seguenti:

        -- Archiviare gli elementi comuni nel profilo $profile.AllUser
           sAllHosts.

        -- Archiviare gli elementi specifici di un'applicazione host 
           nei profili $profile.AllUsersCurrentHost specifici di tale 
           applicazione host.

        -- Archiviare gli elementi relativi ai singoli utenti nei 
           profili specifici degli utenti.

    Assicurarsi di verificare nella documentazione dell'applicazione 
    host la presenza di eventuali implementazioni speciali di profili 
    di Windows PowerShell.


 MODALITÀ DI UTILIZZO DI UN PROFILO

    Molti degli elementi che si creano in Windows PowerShell e la 
    maggior parte dei comandi che si eseguono incidono sono sulla 
    sessione corrente. Quando si termina la sessione, gli elementi 
    vengono eliminati.

    I comandi e gli elementi specifici della sessione includono 
    variabili, variabili di preferenza, alias, funzioni, comandi 
    (eccetto Set-ExecutionPolicy) e snap-in di Windows PowerShell che 
    si aggiungono alla sessione.

    Per salvare questi elementi e renderli disponibili in tutte le 
    sessioni future, aggiungerli a un profilo di Windows PowerShell. 

    I profili vengono inoltre comunemente utilizzati per salvare le 
    funzioni, gli alias e le variabili di uso frequente. Quando si 
    salvano gli elementi in un profilo, è possibile utilizzarli in 
    qualsiasi sessione applicabile senza ricrearli. 


 MODALITÀ DI AVVIO DI UN PROFILO

    Al momento dell'apertura, il file di profilo è vuoto. Tuttavia, è 
    possibile inserirvi variabili, alias e comandi di uso frequente.

    Di seguito sono riportati alcuni suggerimenti per iniziare.

    -- Aggiungere comandi che agevolano l'apertura del profilo. 
       Questo è particolarmente utile se si utilizza un profilo 
       diverso da "Utente corrente, host corrente". Ad esempio, 
       aggiungere il comando seguente:
               
           function pro {notepad $profile.CurrentUserAllHosts}


    -- Aggiungere una funzione per aprire la Guida di Windows 
       PowerShell in un file della guida HTML compilato (CHM). 

           function Get-CHM
            {
               (invoke-item $env:windir\help\mui\0409\WindowsPowerShellHelp.chm) 
            }

       
       Mediante questa funzione viene aperta la versione inglese del 
       file CHM. È tuttavia sostituire il codice della lingua (0409) 
       per aprire le altre versioni del file CHM.

    
    -- Aggiungere una funzione per elencare gli alias per qualsiasi 
       cmdlet.

           function Get-CmdletAlias ($cmdletname) 
           {
              get-alias | Where {$_.definition -like "*$cmdletname*"} | ft Definition, Name -auto 
           }


    -- Aggiungere un comando Add-PsSnapin per aggiungere qualsiasi 
       snap-in di Windows PowerShell in uso.

    -- Personalizzare la console.

           function Color-Console 
           {
            $host.ui.rawui.backgroundcolor = "white" 
                $host.ui.rawui.foregroundcolor = "black" 
                $hosttime = (dir $pshome\powershell.exe) .creationtime 
                $Host.UI.RawUI.WindowTitle = "Windows PowerShell $hostversion ($hosttime)" 
                clear-host
           }
           Color-console


    -- Aggiungere un prompt di Windows PowerShell personalizzato che 
       include il nome del computer e il percorso corrente. 

           function prompt 
           {
              $env:computername + "\" + (get-location) + "> " 
           }


       Per ulteriori informazioni sul prompt di Windows PowerShell, 
       vedere about_Prompts.


 PARAMETRO NOPROFILE

    Per avviare Windows Powershell senza profili, utilizzare il 
    parametro NoProfile di PowerShell.exe, il programma di avvio di 
    Windows PowerShell.

    Per iniziare, aprire un programma che consente di avviare Windows 
    PowerShell, ad esempio Cmd.exe o Windows PowerShell stesso. È 
    anche possibile utilizzare la finestra di dialogo Esegui di Windows. 

    Digitare:

    powershell -noprofile

    Per un elenco completo dei parametri di PowerShell.exe, digitare:

    powershell -?


 PROFILI E CRITERI DI ESECUZIONE

    I criteri di esecuzione di Windows PowerShell determinano, in 
    parte, se è possibile eseguire script e caricare file di 
    configurazione, inclusi i profili. Per impostazione predefinita 
    il criterio di esecuzione è Restricted. Questo criterio impedisce 
    l'esecuzione di tutti gli script, inclusi i profili. Se si 
    utilizza il criterio Restricted, il profilo non viene eseguito e 
    il contenuto relativo non viene applicato.

    Il comando Set-ExecutionPolicy consente di impostare e modificare 
    il criterio di esecuzione. Si tratta di uno dei pochi comandi che 
    viene applicato in tutte le sezioni di Windows PowerShell poiché 
    il valore viene salvato nel Registro di sistema. Non è necessario 
    impostarlo all'apertura della console e non è necessario 
    archiviare un comando Set-ExecutionPolicy nel profilo.


 PROFILI E SESSIONI REMOTE   

    I profili di Windows PowerShell non vengono eseguiti 
    automaticamente nelle sessioni remote, pertanto i comandi 
    aggiunti dai profili non sono presenti nella sessione remota.
    Inoltre, la variabile automatica $profile non viene compilata 
    nelle sessioni remote.  

    Per eseguire un profilo in una sessione, utilizzare il cmdlet 
    Invoke-Command.

    Ad esempio, mediante il comando seguente viene eseguito il profilo 
    CurrentUserCurrentHost dal computer locale nella sessione in $s. 

        invoke-command -session $s -filepath $profile

    Mediante il comando seguente viene eseguito il profilo 
    CurrentUserCurrentHost dal computer remoto nella sessione in $s. 
    Poiché la variabile $profile non è compilata, il comando utilizza 
    il percorso esplicito del profilo.

        invoke-command -session $s {invoke-expression 
        "$home\Documenti\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"}

    Dopo l'esecuzione di questo comando, i comandi aggiunti dal 
    profilo alla sessione sono disponibili in $s.


VEDERE ANCHE
    about_Automatic_Variables
    about_Functions
    about_Prompts
    about_Execution_Policies
    about_Signing
    about_Remote
    Set-ExecutionPolicy