ARGOMENTO
    about_Automatic_Variables

DESCRIZIONE BREVE
    Descrive le variabili che archiviano informazioni sullo stato per 
    Windows PowerShell.
    Queste variabili vengono create e gestite da Windows PowerShell.


DESCRIZIONE DETTAGLIATA
    Di seguito viene presentato un elenco delle variabili automatiche 
    in Windows PowerShell:
    
    
    $$
       Contiene l'ultimo token dell'ultima riga ricevuta dalla sessione.
    

    $? 
       Contiene lo stato di esecuzione dell'ultima operazione. 
    Contiene TRUE se l'ultima operazione ha avuto esito positivo e 
    FALSE se ha avuto esito negativo.
    
    $^
       Contiene il primo token dell'ultima riga ricevuta dalla sessione.
    
    $_
       Contiene l'oggetto corrente nell'oggetto pipeline. È possibile 
       utilizzare questa variabile nei comandi che eseguono un'azione 
       su ogni oggetto o sugli oggetti selezionati in una pipeline.
    
    $Args
       Contiene una matrice dei parametri non dichiarati e/o dei valori di 
       parametro passati a una funzione, a uno script o a un blocco di script.
       Quando si crea una funzione, è possibile dichiarare i 
       parametri tramite la parola chiave param o aggiungendo un elenco di 
       parametri separati da virgole tra parentesi dopo il nome della funzione.

    $ConsoleFileName
       Contiene il percorso del file della console (con estensione psc1) 
       utilizzato più di recente nella sessione. Questa variabile viene 
       compilata quando si avvia Windows PowerShell con il parametro 
       PSConsoleFile o quando si utilizza il cmdlet Export-Console per 
       esportare i nomi degli snap-in in un file della console. 

       Quando si utilizza il cmdlet Export-Console senza parametri, viene 
       automaticamente aggiornato il file della console utilizzato più di 
       recente nella sessione. È possibile utilizzare questa variabile 
       automatica per determinare il file che verrà aggiornato.

    $Error
       Contiene una matrice di oggetti errore che rappresenta gli 
       errori più recenti. L'errore più recente è il primo oggetto 
       errore nella matrice ($Error[0]).

    $Event
       Contiene un oggetto PSEventArgs che rappresenta l’evento che viene elaborato. Questa variabile viene        compilata solo all’interno del blocco Action di un comando di registrazione di eventi, ad esempio 
       Register-ObjectEvent. Il valore di questa variabile è lo stesso oggetto restituito dal cmdlet Get-Event.        Pertanto, è possibile utilizzare le proprietà della variabile $Event, ad esempio $Event.TimeGenerated, in un        blocco di script di Action.

    $EventSubscriber
       Contiene un oggetto PSEventSubscriber che rappresenta il sottoscrittore di eventi dell’evento che        viene elaborato. Questa variabile viene compilata solo all’interno del blocco Action di un comando di               registrazione di eventi. Il valore di questa variabile è lo stesso oggetto restituito dal cmdlet 
       Get-EventSubscriber.

    $ExecutionContext
       Contiene un oggetto EngineIntrinsics che rappresenta il contesto di 
       esecuzione dell'host di Windows PowerShell. È possibile utilizzare questa 
       variabile per trovare gli oggetti di esecuzione disponibili ai cmdlet.

    $False
       Contiene FALSE. È possibile utilizzare questa variabile per 
       rappresentare FALSE in comandi e script anziché utilizzare la 
       stringa "false". La stringa può essere interpretata come TRUE 
       se viene convertita in una stringa non vuota o in un valore intero 
       diverso da zero.

    $ForEach
       Contiene l'enumeratore di un ciclo ForEach-Object. È possibile 
       utilizzare le proprietà e i metodi di enumeratori sul valore della 
       variabile $ForEach. Questa variabile esiste solo mentre è in 
       esecuzione il ciclo For. Viene eliminata al completamento del ciclo.
    
    $Home
       Contiene il percorso completo della home directory 
       dell'utente. Questa variabile equivale alle variabili di ambiente 
       %homedrive%%homepath%, in genere C:\Documents and Settings\<utente>.

    $Host
       Contiene un oggetto che rappresenta l'applicazione host 
       corrente per Windows PowerShell. È possibile utilizzare questa 
       variabile per rappresentare l'host corrente nei comandi o per 
       visualizzare o modificare le proprietà dell'host, ad esempio 
       $Host.version, $Host.CurrentCulture o $host.ui.rawui.
       setbackgroundcolor("Red").

    $Input
       Enumeratore che contiene l'input passato a una funzione. La 
       variabile $Input rileva la distinzione tra maiuscole e 
       minuscole ed è disponibile solo nelle funzioni e nei blocchi 
       di script. I blocchi di script rappresentano essenzialmente 
       funzioni non denominate. Nel blocco Process di una funzione, 
       la variabile $Input contiene l'oggetto attualmente presente nella 
       pipeline. Quando viene completato il blocco Process, il valore di 
       $Input è NULL. Se la funzione non dispone di un blocco Process, il 
       valore di $Input è disponibile per il blocco End e contiene tutto 
       l'input della funzione.

    $LastExitCode
       Contiene il codice di uscita dell'ultimo programma basato su 
       Windows che è stato eseguito.

    $Matches
       La variabile $Matches funziona con gli operatori -match e -not 
       match.
       Quando si invia l'input scalare all'operatore -match o 
       -notmatch e viene rilevata una corrispondenza, viene 
        restituito un valore booleano e viene compilata la variabile 
        automatica $Matches con una tabella hash di qualsiasi valore 
        di stringa di cui era stata rilevata la corrispondenza. Per 
        ulteriori informazioni sull'operatore -match, vedere 
        about_comparison_operators.
    
    $MyInvocation
       Contiene un oggetto con informazioni sul comando corrente, ad 
       esempio uno script, una funzione o un blocco di script. È possibile 
       utilizzare le informazioni nell'oggetto, ad esempio il percorso e il 
       nome del file dello script ($myinvocation.mycommand.path) o il nome 
       di una funzione ($myinvocation.mycommand.name), per identificare il comando 
       corrente. È particolarmente utile per l'individuazione del nome dello 
       script in esecuzione.

    $NestedPromptLevel
       Contiene il livello del prompt corrente. Il valore 0 indica il 
       livello del prompt originale. Il valore viene incrementato 
       quando si immette un livello nidificato e diminuito quando viene 
       terminato.

       Ad esempio, Windows PowerShell presenta un prompt dei comandi 
       nidificato quando si utilizza il metodo $Host.EnterNestedPrompt
       . Windows PowerShell presenta inoltre un prompt dei comandi 
       nidificato quando si raggiunge un punto di interruzione nel 
       debugger di Windows PowerShell.

       Quando si immette un prompt nidificato, Windows PowerShell 
       sospende il comando corrente, salva il contesto di esecuzione e 
       incrementa il valore della variabile $NestedPromptLevel. Per creare 
       ulteriori prompt dei comandi nidificati (fino a 128 livelli) o 
       tornare al prompt dei comandi originale, completare il comando o 
       digitare "exit". 

       La variabile $NestedPromptLevel consente di tenere traccia del 
       livello del prompt. È possibile creare un prompt dei comandi 
       di Windows PowerShell alternativo che includa questo valore in 
       modo che sia sempre visibile.

    $NULL
       Contiene un valore NULL o vuoto. È possibile utilizzare questa 
       variabile per rappresentare NULL in comandi e script, anziché 
       utilizzare la stringa "NULL". La stringa può essere 
       interpretata come TRUE se viene convertita in una stringa non 
       vuota o in un valore intero diverso da zero.

    $PID
       Contiene l'identificatore del processo (PID) che ospita la 
       sessione di Windows PowerShell corrente.
  
    $Profile
       Contiene il percorso completo del profilo di Windows PowerShell per 
       l'utente corrente e l'applicazione host corrente. È possibile 
       utilizzare questa variabile per rappresentare il profilo nei comandi. 
       Ad esempio, è possibile utilizzarla in un comando per determinare se 
       è stato creato un profilo:

           test-path $profile

       In alternativa, è possibile utilizzarla in un comando per creare un 
       profilo:

           new-item -type file -path $pshome -force

       È inoltre possibile utilizzarla in un comando per aprire il 
       profilo in Blocco note:

           notepad $profile

    $PSBoundParameters
       Contiene un dizionario dei parametri attivi e dei relativi valori 
       correnti. Questa variabile dispone di un valore solo in un ambito in 
       cui vengono dichiarati i parametri, ad esempio uno script o una 
       funzione. È possibile utilizzarla per visualizzare o modificare 
       i valori correnti dei parametri o per passare i valori dei parametri 
       a un altro script o funzione.

       Ad esempio:

         function test {
            param($a, $b)
            
            # Visualizzare i parametri nel formato del dizionario.
            $psboundparameters
             
            # Chiamare la funzione Test1 con $a e $b.
            test1 @psboundparameters   
         }

    $PsCmdlet
       Contiene un oggetto che rappresenta il cmdlet o la funzione 
       avanzata in esecuzione. 

       È possibile utilizzare le proprietà e i metodi dell'oggetto 
       nel cmdlet o nel codice della funzione per rispondere alle 
       condizioni di utilizzo. Ad esempio, la proprietà ParameterSetName 
       contiene il nome del set di parametri utilizzato e il metodo 
       ShouldProcess aggiunge dinamicamente i parametri WhatIf e Confirm al 
       cmdlet.

       Per ulteriori informazioni sulla variabile automatica 
       $PSCmdlet, vedere about_Functions_Advanced.

    $PsCulture
       Contiene il nome delle impostazioni cultura attualmente in uso nel 
       sistema operativo. Le impostazioni cultura determinano il formato di 
       visualizzazione di elementi quali numeri, valuta e date. Si tratta 
       del valore della proprietà System.Globalization.CultureInfo.CurrentCul
       ture.Name del sistema. Per ottenere l'oggetto System.Globalization.Cul
       tureInfo del sistema, utilizzare il cmdlet Get-Culture.

    $PSDebugContext
       Durante il debug, questa variabile contiene le informazioni 
       relative all'ambiente di debug. In caso contrario, contiene un 
       valore NULL. Di conseguenza, è possibile utilizzarla per 
       indicare se il debugger dispone del controllo. Se compilata, 
       contiene un oggetto PsDebugContext che dispone delle proprietà 
       Breakpoints e InvocationInfo. La proprietà InvocationInfo dispone di 
       diverse proprietà utili, inclusa la proprietà Location. Questa 
       proprietà indica il percorso dello script sottoposto a debug.


    $PsHome
       Contiene il percorso completo della directory di installazione per 
       Windows PowerShell, in genere %windir%\System32\WindowsPowerShell\v1.0. È 
       possibile utilizzare questa variabile nei percorsi dei file di Windows 
       PowerShell. Ad esempio, il comando seguente cerca la parola 
       "variable" negli argomenti concettuali della Guida: 

            select-string -pattern variable -path $pshome\*.txt

    $PSScriptRoot
       Contiene la directory da cui viene eseguito il modulo di script.
       Questa variabile consente agli script di utilizzare il percorso del 
       modulo per accedere ad altre risorse.


    $PsUICulture
       Contiene il nome delle impostazioni cultura dell'interfaccia utente 
       attualmente in uso nel sistema operativo. Le impostazioni cultura 
       dell'interfaccia utente determinano quali stringhe di testo vengono 
       utilizzate per gli elementi dell'interfaccia utente, ad esempio menu 
       e messaggi. Si tratta del valore della 
       proprietà System.Globalization.CultureInfo.CurrentUICulture.Nam
       e del sistema. Per ottenere l'oggetto System.Globalization.Cult
       ureInfo del sistema, utilizzare il cmdlet Get-UICulture. 


    $PsVersionTable
        Contiene una tabella hash di sola lettura in cui sono 
        visualizzati i dettagli sulla versione di Windows PowerShell in 
        esecuzione nella sessione corrente.
        Nella tabella sono inclusi gli elementi seguenti:

	    CLRVersion:            versione di Common Language Runtime (CLR)

	    BuildVersion:          numero della build della versione 
	    corrente

    	    PSVersion:             numero di versione di Windows 
    	    PowerShell

            WSManStackVersion:     numero di versione dello stack di 
            WS-Management

	    PSCompatibleVersions:  versioni di Windows PowerShell compatibili con 
	    la versione corrente

            SerializationVersion:  versione del metodo di serializzazione

            PSRemotingProtocolVersion
                                   versione del protocollo di 
                                   gestione remota di Windows PowerShell

    $Pwd
       Contiene un oggetto percorso che rappresenta il percorso 
       completo della directory corrente. 

    $Sender
       Contiene l’oggetto generato dall'evento. Questa variabile viene compilata solo
       all’interno del blocco Action di un comando di registrazione di eventi.
       Il valore di questa variabile può essere trovato anche nella proprietà Sender dell'oggetto
       PSEventArgs (System.Management.Automation.PSEventArgs) restituito da Get-Event.
    
    $ShellID
       Contiene l'identificatore della shell corrente.

    $SourceArgs
       Contiene oggetti che rappresentano gli argomenti di evento dell’evento che viene elaborato.
       Questa variabile viene compilata solo all’interno del blocco Action di un comando di
       registrazione di eventi. Il valore di questa variabile può essere trovato anche nella proprietà
       SourceArgs dell'oggetto PSEventArgs (System.Management.Automation.PSEventArgs) restituito da Get-Event.
      
    $SourceEventArgs
       Contiene un oggetto che rappresenta il primo argomento dell’evento derivante da EventArgs
       dell’evento che viene elaborato. Questa variabile viene compilata solo all’interno del
       blocco Action di un comando di registrazione di eventi. Il valore di questa variabile può 
       essere trovato anche nella proprietà SourceArgs dell'oggetto 
       PSEventArgs (System.Management.Automation.PSEventArgs) restituito da Get-Event.
      
    $This
        In un blocco di script che definisce una proprietà script o 
        un metodo script, la variabile $This fa riferimento 
        all'oggetto esteso. 

    $True
       Contiene TRUE. È possibile utilizzare questa variabile per 
       rappresentare TRUE in comandi e script.


VEDERE ANCHE
    about_Hash_Tables
    about_Preference_Variables
    about_Variables

      




Argomenti della Guida