Share via


about_Parameters

Aggiornamento: ottobre 2011

Si applica a: Windows PowerShell 2.0, Windows PowerShell 3.0

ARGOMENTO

about_Parameters

DESCRIZIONE BREVE

Descrive come usare i parametri di comando in Windows PowerShell.

DESCRIZIONE LUNGA

La maggior parte dei comandi di Windows PowerShell, come ad esempio cmdlet, funzioni e script, si basano su parametri per consentire agli utenti la selezione di opzioni e l'inserimento di input. I parametri seguono il nome del comando e hanno la seguente maschera:

        -<parameter_name> <parameter_value>

Il nome del parametro è preceduto da un trattino (-), che segnala a Windows PowerShell che la parola che segue trattino è il nome di un parametro. Alcuni parametri non richiedono o accettano il valore di un parametro. Altri parametri richiedono un valore, ma non richiedono il nome del parametro nel comando.

Il tipo di parametri e i relativi requisiti variano. Per trovare informazioni sui parametri di un comando, usare il cmdlet Get-Help. Per trovare, ad esempio, informazioni sui parametri del cmdlet Get-ChildItem, digitare:

        Get-Help Get-ChildItem

Per trovare informazioni sui parametri di uno script, usare il percorso completo al file di script. Ad esempio:

        Get-Help $home\Documents\Scripts\Get-Function.ps1

Il cmdlet Get-Help restituisce vari dettagli sul comando, inclusi una descrizione, la sintassi dei comandi, informazioni sui parametri ed esempi che mostrano come usare i parametri in un comando.

È anche possibile usare il parametro Parameter del cmdlet Get-Help per trovare informazioni su un parametro particolare. In alternativa, è possibile usare il parametro Parameter con il valore del carattere jolly (*) per trovare informazioni su tutti i parametri del comando. Ad esempio, il comando seguente ottiene informazioni su tutti i parametri del cmdlet Get-Member:

        Get-Help Get-Member -Parameter *

VALORI DEI PARAMETRI PREDEFINITI

I parametri facoltativi hanno un valore predefinito, che è il valore usato o presunto quando il parametro non è specificato nel comando.

Ad esempio, il valore predefinito del parametro ComputerName di molti cmdlet è il nome del computer locale. Di conseguenza, il nome del computer locale viene usato nel comando a meno che non venga specificato il parametro ComputerName.

Per trovare il valore del parametro predefinito, vedere l'argomento della Guida per il cmdlet. La descrizione del parametro deve includere il valore predefinito.

È anche possibile impostare un valore predefinito personalizzato per qualsiasi parametro di un cmdlet o una funzione avanzata. Per informazioni sui valori predefiniti personalizzati, vedere about_Parameters_Default_Values.

TABELLA DEGLI ATTRIBUTI DEI PARAMETRI

Quando si usano i parametri Full, Parameter o Online del cmdlet Get-Help, Get-Help visualizza una tabella degli attributi dei parametri con informazioni dettagliate sul parametro.

Queste informazioni includono dettagli sull'uso del parametro. Ad esempio, l'argomento della Guida per il cmdlet Get-ChildItem include le informazioni dettagliate seguenti sul relativo parametro Path:

        -path <string[]>
            Specifies a path of one or more locations. Wildcard characters are
            permitted. The default location is the current directory (.).

        Required?                    false
        Position?                    1
        Default value                Current directory
        Accept pipeline input?       true (ByValue, ByPropertyName)
        Accept wildcard characters?  true

Le informazioni sul parametro includono la sintassi di parametro, una descrizione del parametro e gli attributi del parametro. Le sezioni seguenti descrivono gli attributi di parametro.

PARAMETRO RICHIESTO?

Questa impostazione indica se il parametro è obbligatorio, cioè, se tutti i comandi che usano questo cmdlet devono includere questo parametro. Quando il valore è "True" e il parametro manca dal comando, Windows PowerShell chiede un valore per il parametro.

POSIZIONE PARAMETRO?

Questa impostazione indica se è possibile fornire il valore di un parametro senza che sia preceduto dal nome del parametro. Se impostato su "0" o "named," è richiesto il nome di un parametro. Questo tipo di parametro è definito come un parametro denominato. Un parametro denominato può essere elencato in qualsiasi posizione dopo il nome del cmdlet.

Se l'impostazione "Posizione parametro?" è impostata su un numero intero diverso da 0, il nome del parametro non è obbligatorio. Questo tipo di parametro è definito come parametro posizionale e il numero indica la posizione in cui il parametro deve essere visualizzato in relazione ad altri parametri posizionali. Se si include il nome del parametro per un parametro posizionale, il parametro deve essere elencato in qualsiasi posizione dopo il nome cmdlet.

Ad esempio, il cmdlet Get-ChildItem ha i parametri Path e Exclude. L'impostazione "Posizione parametro?" per Path è 1, cioè si tratta di un parametro posizionale. L'impostazione "Posizione parametro?" per Exclude è 0, cioè si tratta di un parametro denominato.

Ciò significa che Path non richiede il nome del parametro, ma il valore del parametro deve essere il primo o l'unico parametro non denominato nel comando. Tuttavia, dal momento che il parametro Exclude è un parametro denominato, è possibile inserirlo in qualsiasi posizione nel comando.

Come risultato delle impostazioni "Posizione parametro?" per questi due parametri, è possibile usare uno qualsiasi dei seguenti comandi:

        Get-ChildItem -path c:\techdocs -exclude *.ppt
        Get-ChildItem c:\techdocs -exclude *.ppt
        Get-ChildItem -exclude *.ppt -path c:\techdocs
        Get-ChildItem -exclude *.ppt c:\techdocs

Se si deve includere un altro parametro posizionale senza includere il nome del parametro, questo parametro dovrebbe essere inserito nell'ordine specificato dall'impostazione "Posizione parametro?".

TIPO PARAMETRO

Questa impostazione specifica il tipo del valore del parametro di Microsoft .NET Framework. Se, ad esempio, il tipo è Int32, il valore del parametro deve essere un numero intero. Se il tipo è string, il valore del parametro deve essere una stringa di caratteri. Se la stringa contiene spazi, il valore deve essere racchiuso tra virgolette oppure gli spazi devono essere preceduti dal carattere di escape (`).

VALORE PREDEFINITO

Questa impostazione specifica il valore che il parametro avrà se non viene fornito alcun altro valore. Ad esempio, il valore predefinito del parametro Path è spesso la directory corrente. I parametri obbligatori non hanno mai un valore predefinito. Per molti parametri facoltativi non esiste alcuna impostazione predefinita perché il parametro non ha alcun effetto se non viene usato.

ACCETTARE PIÙ VALORI?

Questa impostazione indica se un parametro accetta più valori di parametro. Quando un parametro accetta più valori, è possibile digitare un elenco separato da virgole come valore del parametro nel comando oppure salvare un elenco separato da virgole (una matrice) in una variabile e quindi specificare la variabile come valore del parametro.

Ad esempio, il parametro ServiceName di cmdlet Get-Service accetta più valori. I comandi seguenti sono entrambi validi:

        get-service -servicename winrm, netlogon


        $s = "winrm", "netlogon"
        get-service -servicename $s

ACCETTARE INPUT DA PIPELINE?

Questa impostazione indica se è possibile usare l'operatore pipeline (|) per inviare un valore al parametro.

    
    Value                    Description
    -----                    -----------
    False                    Indicates that you cannot pipe a value to the 
                             parameter.


    True (by Value)          Indicates that you can pipe any value to the 
                             parameter, just so the value has the .NET 
                             Framework type specified for the parameter or the
                             value can be converted to the specified .NET 
                             Framework type.


                             When a parameter is "True (by Value)", Windows 
                             PowerShell tries to associate any piped values 
                             with that parameter before it tries other methods
                             to interpret the command.


    True (by Property Name)  Indicates that you can pipe a value to the 
                             parameter, but the .NET Framework type of the 
                             parameter must include a property with the same
                             name as the parameter.
 
                             For example, you can pipe a value to a Name 
                             parameter only when the value has a property 
                             called "Name".

ACCETTARE CARATTERI JOLLY?

Questa impostazione indica se il valore del parametro può contenere caratteri jolly in modo che il valore del parametro possa corrispondere a più elementi esistenti nel contenitore di destinazione.

PARAMETRI COMUNI

I parametri comuni sono parametri che è possibile usare con qualsiasi cmdlet. Per altre informazioni sui parametri comuni, vedere about_CommonParameters

VEDERE ANCHE

about_Command_syntax

about_Comment_Based_Help

about_Functions_Advanced

about_Parameters_Default_Values

about_Pipelines

about_Wildcards