Condividi tramite


informazioni_suiParametriComuni

Breve descrizione

Descrive i parametri che possono essere usati con qualsiasi cmdlet.

Descrizione lunga

I parametri comuni sono un set di parametri di cmdlet che è possibile usare con qualsiasi cmdlet. Vengono implementati da PowerShell, non dallo sviluppatore di cmdlet e sono automaticamente disponibili per qualsiasi cmdlet.

È possibile usare i parametri comuni con qualsiasi cmdlet, ma potrebbero non avere alcun effetto su tutti i cmdlet. Ad esempio, se un cmdlet non genera alcun output dettagliato, l'uso del parametro comune Verbose non ha alcun effetto.

I parametri comuni sono disponibili anche nelle funzioni avanzate che usano l'attributo CmdletBinding o l'attributo Parameter . Quando si usano questi attributi, PowerShell aggiunge automaticamente i parametri comuni. Non è possibile creare parametri che usano gli stessi nomi dei parametri comuni.

Diversi parametri comuni sostituiscono le impostazioni predefinite o le preferenze di sistema impostate usando le variabili di preferenza di PowerShell. A differenza delle variabili di preferenza, i parametri comuni influiscono solo sui comandi in cui vengono usati.

Per altre informazioni, vedere about_Preference_Variables.

Nell'elenco seguente vengono visualizzati i parametri comuni. Gli alias sono elencati tra parentesi.

  • Debug (db)
  • ErrorAction (ea)
  • ErrorVariable (ev)
  • InformationAction (infa)
  • InformationVariable (iv)
  • OutVariable (ov)
  • OutBuffer (ob)
  • PipelineVariable (pv)
  • ProgressAction (proga)
  • Verbose (vb)
  • WarningAction (wa)
  • WarningVariable (wv)

I parametri Action sono ActionPreference valori di tipo. ActionPreference è un'enumerazione con i valori seguenti:

Nome Valore
Suspend 5
Ignore 4
Inquire 3
Continue 2
Stop 1
SilentlyContinue 0

È possibile usare il nome o il valore con il parametro .

Oltre ai parametri comuni, molti cmdlet offrono parametri di mitigazione dei rischi. I cmdlet che comportano il rischio per il sistema o per i dati utente in genere offrono questi parametri.

I parametri di mitigazione dei rischi sono:

  • WhatIf (wi)
  • Confirm (cf)

Parametri comuni

-Debug

Visualizza i dettagli a livello di programmatore sull'operazione eseguita dal comando . Questo parametro funziona solo quando il comando genera un messaggio di debug. Ad esempio, questo parametro funziona quando un comando contiene il Write-Debug cmdlet .

Type: SwitchParameter
Aliases: db
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

Per impostazione predefinita, i messaggi di debug non vengono visualizzati perché il valore della $DebugPreference variabile è SilentlyContinue.

In modalità interattiva, il Debug parametro esegue l'override $DebugPreference del valore della variabile per il comando corrente, impostando il valore di $DebugPreference su Inquire.

In modalità non interattiva, il Debug parametro esegue l'override del valore della $DebugPreference variabile per il comando corrente, impostando il valore di $DebugPreference su Continue.

-Debug:$true ha lo stesso effetto di -Debug. Usare -Debug:$false per eliminare la visualizzazione dei messaggi di debug quando $DebugPreference non SilentlyContinueè , ovvero l'impostazione predefinita.

-ErroreAzione

Determina il modo in cui il cmdlet risponde a un errore non irreversibile dal comando . Questo parametro funziona solo quando il comando genera un errore non irreversibile, ad esempio quelli del Write-Error cmdlet.

Type: ActionPreference
Aliases: ea
Accepted values: Suspend, Ignore, Inquire, Continue, Stop, SilentlyContinue

Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False

Il ErrorAction parametro esegue l'override $ErrorActionPreference del valore della variabile per il comando corrente. Poiché il valore predefinito della $ErrorActionPreference variabile è Continue, i messaggi di errore vengono visualizzati e l'esecuzione continua a meno che non si usi il ErrorAction parametro .

Il ErrorAction parametro non ha alcun effetto sugli errori di terminazione (ad esempio dati mancanti, parametri non validi o autorizzazioni insufficienti) che impediscono il completamento di un comando correttamente.

  • -ErrorAction:Break Immette il debugger quando si verifica un errore o viene generata un'eccezione.
  • -ErrorAction:Continue visualizza il messaggio di errore e continua l'esecuzione del comando. Continue è l'impostazione predefinita.
  • -ErrorAction:Ignore elimina il messaggio di errore e continua l'esecuzione del comando. A differenza di SilentlyContinue, Ignore non aggiunge il messaggio di errore alla $Error variabile automatica. Il Ignore valore viene introdotto in PowerShell 3.0.
  • -ErrorAction:Inquire visualizza il messaggio di errore e chiede conferma prima di continuare l'esecuzione. Questo valore viene usato raramente.
  • -ErrorAction:SilentlyContinue elimina il messaggio di errore e continua l'esecuzione del comando.
  • -ErrorAction:Stop visualizza il messaggio di errore e interrompe l'esecuzione del comando.
  • -ErrorAction:Suspend è disponibile solo per i flussi di lavoro che non sono supportati in PowerShell 6 e versioni successive.

Nota

Il ErrorAction parametro esegue l'override, ma non sostituisce il valore della $ErrorActionPreference variabile quando il parametro viene usato in un comando per eseguire uno script o una funzione.

-VariabileErrore

I record di errore vengono archiviati automaticamente nella $Error variabile automatica. Per altre informazioni, vedere about_Automatic_Variables.

Quando si usa il ErrorVariable parametro in un comando, PowerShell archivia anche i record di errore generati dal comando nella variabile specificata dal parametro .

Type: String
Aliases: ev
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Per impostazione predefinita, i nuovi messaggi di errore sovrascrivono i messaggi di errore già archiviati nella variabile. Per aggiungere il messaggio di errore al contenuto della variabile, inserire un segno più (+) prima del nome della variabile.

Ad esempio, il comando seguente crea la $a variabile e quindi archivia eventuali errori:

Get-Process -Id 6 -ErrorVariable a

Il comando seguente aggiunge eventuali messaggi di errore alla $a variabile:

Get-Process -Id 2 -ErrorVariable +a

Il comando seguente visualizza il contenuto di $a:

$a

È possibile usare questo parametro per creare una variabile contenente solo i messaggi di errore di comandi specifici e non influisce sul comportamento della $Error variabile automatica. La $Error variabile automatica contiene messaggi di errore di tutti i comandi della sessione. È possibile usare la notazione di matrice, ad esempio $a[0] o $Error[1,2] per fare riferimento a errori specifici archiviati nelle variabili.

Nota

La variabile di errore personalizzata contiene tutti gli errori generati dal comando, inclusi gli errori delle chiamate a funzioni o script annidati.

-InformazioneAzione

Introdotto in PowerShell 5.0. All'interno del comando o dello script in cui viene usata, il InformationAction parametro comune esegue l'override del valore della $InformationPreference variabile di preferenza, che per impostazione predefinita è impostato su SilentlyContinue. Quando si usa Write-Information in uno script con InformationAction, Write-Information i valori vengono visualizzati a seconda del valore del InformationAction parametro . Per altre informazioni su $InformationPreference, vedere about_Preference_Variables.

Type: ActionPreference
Aliases: infa
Accepted values: Suspend, Ignore, Inquire, Continue, Stop, SilentlyContinue

Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False
  • -InformationAction:Break Immette il debugger in corrispondenza di un'occorrenza del Write-Information comando.
  • -InformationAction:Stop arresta un comando o uno script in corrispondenza di un'occorrenza del Write-Information comando.
  • -InformationAction:Ignore elimina il messaggio informativo e continua a eseguire il comando. A differenza di SilentlyContinue, Ignore dimentica completamente il messaggio informativo; non aggiunge il messaggio informativo al flusso di informazioni.
  • -InformationAction:Inquire visualizza il messaggio informativo specificato in un Write-Information comando, quindi chiede se si desidera continuare.
  • -InformationAction:Continue visualizza il messaggio informativo e continua l'esecuzione.
  • -InformationAction:Suspend non è supportato in PowerShell 6 e versioni successive perché è disponibile solo per i flussi di lavoro.
  • -InformationAction:SilentlyContinue nessun effetto perché il messaggio informativo non viene visualizzato (impostazione predefinita) e lo script continua senza interruzioni.

Nota

Il InformationAction parametro esegue l'override, ma non sostituisce il valore della $InformationAction variabile di preferenza quando il parametro viene usato in un comando per eseguire uno script o una funzione.

-Variabile Informazione

Introdotto in PowerShell 5.0. Quando si usa il InformationVariable parametro comune, i record di informazioni vengono archiviati nella variabile specificata dal parametro . Il cmdlet di PowerShell può scrivere record di informazioni nel Information flusso. È anche possibile usare il Write-Information cmdlet per scrivere record di informazioni.

I record di informazioni vengono visualizzati come messaggi nella console per impostazione predefinita. È possibile controllare la visualizzazione del record di informazioni usando il InformationAction parametro comune. È anche possibile modificare il comportamento usando la variabile di $InformationPreference preferenza. Per altre informazioni su $InformationPreference, vedere about_Preference_Variables.

Nota

La variabile di informazioni contiene tutti i messaggi informativi generati dal comando, inclusi i messaggi informativi dalle chiamate a funzioni o script annidati.

Type: String
Aliases: iv
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Per impostazione predefinita, i nuovi record di informazioni sovrascrivono i valori già archiviati nella variabile. Per aggiungere il messaggio di errore al contenuto della variabile, inserire un segno più (+) prima del nome della variabile.

-Buffer di uscita

Determina il numero di oggetti da accumulare in un buffer prima che tutti gli oggetti vengano inviati tramite la pipeline. Se si omette questo parametro, gli oggetti vengono inviati man mano che vengono generati.

Type: Int32
Aliases: ob
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Questo parametro di gestione delle risorse è progettato per gli utenti avanzati. Quando si usa questo parametro, PowerShell invia i dati al cmdlet successivo in batch di OutBuffer + 1.

Nell'esempio seguente vengono visualizzate alternative tra i blocchi di elaborazione ForEach-Object che usano il Write-Host cmdlet . Le alternative di visualizzazione in batch di 2 o OutBuffer + 1.

1..4 | ForEach-Object {
        Write-Host "$($_): First"; $_
      } -OutBuffer 1 | ForEach-Object {
                        Write-Host "$($_): Second" }
1: First
2: First
1: Second
2: Second
3: First
4: First
3: Second
4: Second

-OutVariabile

Archivia gli oggetti di output dal comando nella variabile specificata oltre a inviare l'output lungo la pipeline.

Type: String
Aliases: ov
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Per aggiungere l'output alla variabile, anziché sostituire qualsiasi output che potrebbe essere già archiviato, digitare un segno più (+) prima del nome della variabile.

Ad esempio, il comando seguente crea la $out variabile e archivia l'oggetto processo in esso:

Get-Process powershell -OutVariable out

Il comando seguente aggiunge l'oggetto processo alla $out variabile :

Get-Process iexplore -OutVariable +out

Il comando seguente visualizza il contenuto della $out variabile:

$out

Nota

La variabile creata dal OutVariable parametro è .[System.Collections.ArrayList]

-Variabile Pipeline

PipelineVariable consente l'accesso al valore più recente passato nel segmento di pipeline successivo dal comando che usa questo parametro. Qualsiasi comando nella pipeline può accedere al valore usando l'oggetto denominato PipelineVariable. Il valore viene assegnato alla variabile quando viene passato al segmento di pipeline successivo. In questo modo è PipelineVariable più semplice usare una variabile temporanea specifica, che potrebbe essere necessario assegnare in più posizioni.

A differenza di $_ o $PSItem, l'uso di consente PipelineVariable a qualsiasi comando della pipeline di accedere ai valori della pipeline passati (e salvati) da comandi diversi dal comando immediatamente precedente. I comandi della pipeline possono accedere all'ultimo valore inviato tramite pipe durante l'elaborazione dell'elemento successivo passando la pipeline. Ciò consente a un comando di eseguire il feedback dell'output a un comando precedente (o a se stesso).

Nota

Le funzioni avanzate possono avere fino a tre blocchi di script: begin, processe end. Quando si usa il PipelineVariable parametro con funzioni avanzate, solo i valori del primo blocco di script definito vengono assegnati alla variabile durante l'esecuzione della funzione. Per altre informazioni, vedere Funzioni avanzate. PowerShell 7.2 corregge questo comportamento.

Type: String
Aliases: pv
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

I valori validi sono stringhe, uguali a per qualsiasi nome di variabile.

Attenzione

l'ambito PipelineVariable è la pipeline in cui viene richiamata. Le variabili esterne alla pipeline, che usano lo stesso nome, vengono cancellate prima dell'esecuzione della pipeline. L'oggetto PipelineVariable esce dall'ambito quando la pipeline termina. Se più comandi all'interno della pipeline specificano lo stesso PipelineVariable , è presente una sola variabile condivisa. Tale variabile viene aggiornata con l'output pipe più recente del comando che specifica la variabile.

Alcuni comandi di blocco raccolgono tutti gli elementi della pipeline prima di produrre qualsiasi output, ad esempio Sort-Object o Select-Object -Last. Qualsiasi PipelineVariable elemento assegnato in un comando prima di tale comando di blocco contiene sempre l'elemento inviato tramite pipe finale dal comando precedente quando viene usato in un comando dopo il comando di blocco.

Nell'esempio seguente viene illustrato il funzionamento dell'oggetto PipelineVariable . In questo esempio, cinque numeri vengono inviati tramite pipe al primo ForEach-Object comando. Ogni elemento della pipeline viene archiviato nella variabile della pipeline denominata $Temp.

Il Process blocco del primo ForEach-Object comando invia tramite pipe l'elemento della pipeline al comando downstream ForEach-Object . Lo stato delle variabili viene visualizzato in ogni passaggio.

# Create a variable named $Temp
$Temp = 8
Get-Variable Temp | Format-Table

$InformationPreference = 'Continue'
Write-Information '-------------------------------------------------'
111,222,333,444,555 | ForEach-Object -PipelineVariable Temp -Begin {

  # Note that the newly create $Temp variable doesn't contain the value 8
  # assigned before the pipeline started and that $PSItem is empty in
  # the Begin block.
  Write-Information "Upstream (Begin):   PSItem = '$PSItem', Temp = '$Temp'"

} -Process {

  Write-Information "Upstream (Process): PSItem = '$PSItem', Temp = '$Temp'"
  return $PSItem

} | ForEach-Object -Process {

  Write-Information "`tDownstream: PSItem = '$PSItem', Temp = '$Temp'"

}
Write-Information '-------------------------------------------------'

# The $Temp variable is deleted when the pipeline finishes
Get-Variable Temp | Format-Table
Name                           Value
----                           -----
Temp                           8

-------------------------------------------------
Upstream (Begin):   PSItem = '', Temp = ''
Upstream (Process): PSItem = '111', Temp = ''
        Downstream: PSItem = '111', Temp = '111'
Upstream (Process): PSItem = '222', Temp = '111'
        Downstream: PSItem = '222', Temp = '222'
Upstream (Process): PSItem = '333', Temp = '222'
        Downstream: PSItem = '333', Temp = '333'
Upstream (Process): PSItem = '444', Temp = '333'
        Downstream: PSItem = '444', Temp = '444'
Upstream (Process): PSItem = '555', Temp = '444'
        Downstream: PSItem = '555', Temp = '555'
-------------------------------------------------

Name                           Value
----                           -----
Temp

Attenzione

Esistono due problemi noti relativi all'uso del parametro PipelineVariable in una pipeline che include i cmdlet CimCmdlets o CDXML. Negli esempi seguenti è Get-Partition una funzione CDXML ed Get-CimInstance è un CimCmdlet.

Problema 1: le funzioni CDXML usano [CmdletBinding()], che consente il parametro PipelineVariable .

Get-Partition -pv pvar

Tuttavia, quando si usa PipelineVariable in Windows PowerShell v5.1, viene visualizzato l'errore seguente.

Get-Partition : Cannot retrieve the dynamic parameters for the cmdlet.
Object reference not set to an instance of an object.

At line:1 char:1
+ get-partition -PipelineVariable pvar
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Get-Partition], ParameterBindingException
    + FullyQualifiedErrorId : GetDynamicParametersException,Get-Partition

Problema 2: quando il comando precedente non è un comando CDXML e il downstream contiene uno dei due tipi di comando, PipelineVariable rimane come ultimo oggetto accumulato.

Get-CimInstance Win32_DiskDrive -pv pvar |
    ForEach-Object {
        Write-Host "Upstream: Disk $($pvar.Index)"
        return [pscustomobject]@{ DiskNumber = $_.Index }
    } | Get-Partition | ForEach-Object {
        Write-Host "Downstream: Disk $($pvar.Index)"
    }

Si noti che il valore di $pvar impostato sull'ultimo oggetto nella pipeline per il secondo ForEach-Object comando.

Upstream: Disk 1
Upstream: Disk 2
Upstream: Disk 0
Downstream: Disk 0
Downstream: Disk 0
Downstream: Disk 0
Downstream: Disk 0
Downstream: Disk 0
Downstream: Disk 0

-ProgressAction

Determina il modo in cui PowerShell risponde agli aggiornamenti dello stato generati da uno script, un cmdlet o un provider, ad esempio le barre di stato generate dal cmdlet Write-Progress . Il Write-Progress cmdlet crea barre di stato che mostrano lo stato di un comando. Il ProgressAction parametro è stato aggiunto in PowerShell 7.4.

Il ProgressAction parametro accetta uno dei ActionPreference valori di enumerazione: SilentlyContinue, StopContinue, Inquire, Ignore, Suspend, o Break.

I valori validi sono i seguenti:

  • Break Immette il debugger in corrispondenza di un'occorrenza del Write-Progress comando.
  • Stop: non visualizza l'indicatore di stato. Visualizza invece un messaggio di errore e arresta l'esecuzione.
  • Inquire: non visualizza l'indicatore di stato. Richiede l'autorizzazione per continuare. Se si risponde con Y o A, viene visualizzata la barra di stato.
  • Continue: (impostazione predefinita) Visualizza la barra di stato e continua con l'esecuzione.
  • SilentlyContinue: esegue il comando , ma non visualizza l'indicatore di stato.
Type: ActionPreference
Aliases: proga
Accepted values: Break, Suspend, Ignore, Inquire, Continue, Stop, SilentlyContinue
Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False

-Verbose

Visualizza informazioni dettagliate sull'operazione eseguita dal comando . Queste informazioni sono simili alle informazioni contenute in una traccia o in un log delle transazioni. Questo parametro funziona solo quando il comando genera un messaggio dettagliato. Ad esempio, questo parametro funziona quando un comando contiene il Write-Verbose cmdlet .

Type: SwitchParameter
Aliases: vb
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

Il Verbose parametro esegue l'override $VerbosePreference del valore della variabile per il comando corrente. Poiché il valore predefinito della $VerbosePreference variabile è SilentlyContinue, i messaggi dettagliati non vengono visualizzati per impostazione predefinita.

  • -Verbose:$true ha lo stesso effetto di -Verbose
  • -Verbose:$false elimina la visualizzazione dei messaggi dettagliati. Usare questo parametro quando il valore di $VerbosePreference non SilentlyContinue è (impostazione predefinita).

-Azione di avvertimento

Determina la modalità di risposta del cmdlet a un avviso dal comando . Continue è il valore predefinito. Questo parametro funziona solo quando il comando genera un messaggio di avviso. Ad esempio, questo parametro funziona quando un comando contiene il Write-Warning cmdlet .

Type: ActionPreference
Aliases: wa
Accepted values: Suspend, Ignore, Inquire, Continue, Stop, SilentlyContinue

Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False

Il WarningAction parametro esegue l'override $WarningPreference del valore della variabile per il comando corrente. Poiché il valore predefinito della $WarningPreference variabile è Continue, vengono visualizzati avvisi e l'esecuzione continua a meno che non si usi il WarningAction parametro .

  • -WarningAction:Break immette il debugger quando si verifica un avviso.
  • -WarningAction:Continue visualizza i messaggi di avviso e continua l'esecuzione del comando. Continue è l'impostazione predefinita.
  • -WarningAction:Inquire visualizza il messaggio di avviso e chiede conferma prima di continuare l'esecuzione. Questo valore viene usato raramente.
  • -WarningAction:SilentlyContinue elimina il messaggio di avviso e continua l'esecuzione del comando.
  • -WarningAction:Stop visualizza il messaggio di avviso e interrompe l'esecuzione del comando.

Nota

Il WarningAction parametro esegue l'override, ma non sostituisce il valore della $WarningAction variabile di preferenza quando il parametro viene usato in un comando per eseguire uno script o una funzione.

-Variabile Avvertimento

Archivia i record di avviso relativi al comando nella variabile specificata.

Type: String
Aliases: wv
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Tutti gli avvisi generati vengono salvati nella variabile anche se gli avvisi non vengono visualizzati all'utente.

Per aggiungere gli avvisi al contenuto della variabile, anziché sostituire eventuali avvisi che potrebbero essere già archiviati, digitare un segno più (+) prima del nome della variabile.

Ad esempio, il comando seguente crea la $a variabile e quindi archivia tutti gli avvisi in esso contenuti:

Get-Process -Id 6 -WarningVariable a

Il comando seguente aggiunge eventuali avvisi alla $a variabile :

Get-Process -Id 2 -WarningVariable +a

Il comando seguente visualizza il contenuto di $a:

$a

È possibile usare questo parametro per creare una variabile contenente solo avvisi da comandi specifici. È possibile usare la notazione di matrice, ad esempio $a[0] o $warning[1,2] per fare riferimento a avvisi specifici archiviati nella variabile.

Nota

La variabile di avviso contiene tutti gli avvisi generati dal comando, inclusi gli avvisi dalle chiamate a funzioni o script annidati.

Parametri di gestione dei rischi

-WhatIf

Visualizza un messaggio che descrive l'effetto del comando, anziché eseguire il comando.

Type: SwitchParameter
Aliases: wi
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

Il WhatIf parametro esegue l'override $WhatIfPreference del valore della variabile per il comando corrente. Poiché il valore predefinito della $WhatIfPreference variabile è 0 (disabilitato), WhatIf il comportamento non viene eseguito senza il WhatIf parametro . Per altre informazioni, vedere about_Preference_Variables.

  • -WhatIf:$true ha lo stesso effetto di -WhatIf.
  • -WhatIf:$false elimina il comportamento WhatIf automatico che restituisce quando il valore della $WhatIfPreference variabile è 1.

Ad esempio, il comando seguente usa il -WhatIf parametro in un Remove-Item comando:

Remove-Item Date.csv -WhatIf

Invece di rimuovere l'elemento, PowerShell elenca le operazioni da eseguire e gli elementi interessati. Questo comando produce l'output seguente:

What if: Performing operation "Remove File" on
Target "C:\ps-test\date.csv".

-Confirm

Richiede la conferma dell'utente prima dell'esecuzione del comando.

Type: SwitchParameter
Aliases: cf
Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False

Il Confirm parametro esegue l'override $ConfirmPreference del valore della variabile per il comando corrente. Il valore predefinito è true. Per altre informazioni, vedere about_Preference_Variables.

  • -Confirm:$true ha lo stesso effetto di -Confirm.
  • -Confirm:$false elimina la conferma automatica, che si verifica quando il valore di $ConfirmPreference è minore o uguale al rischio stimato del cmdlet.

Ad esempio, il comando seguente usa il Confirm parametro con un Remove-Item comando . Prima di rimuovere l'elemento, PowerShell elenca le operazioni da eseguire e gli elementi interessati e richiede l'approvazione.

PS C:\ps-test> Remove-Item tmp*.txt -Confirm

Confirm
Are you sure you want to perform this action?
Performing operation "Remove File" on Target " C:\ps-test\tmp1.txt
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend
[?] Help (default is "Y"):

Le opzioni di Confirm risposta sono le seguenti:

Risposta Risultato
Yes (Y) Esegui l'azione.
Yes to All (A) Eseguire tutte le azioni ed eliminare le operazioni successive Confirm
query per questo comando.
No (N): Non eseguire l'azione.
No to All (L): Non eseguire alcuna azione e eliminare le successive
Confirm query per questo comando.
Suspend (S): Sospendere il comando e creare una sessione temporanea.
Help (?) Visualizzare la Guida per queste opzioni.

L'opzione Suspend posiziona il comando in attesa e crea una sessione nidificata temporanea in cui è possibile lavorare fino a quando non si è pronti per scegliere un'opzione Confirm . Il prompt dei comandi per la sessione nidificata include due punti di inserimento aggiuntivi (>>) per indicare che si tratta di un'operazione figlio del comando padre originale. È possibile eseguire comandi e script nella sessione nidificata. Per terminare la sessione annidata e tornare alle Confirm opzioni per il comando originale, digitare "exit".

Nell'esempio seguente l'opzione Suspend (S) viene usata per arrestare temporaneamente un comando mentre l'utente controlla la Guida per un parametro di comando. Dopo aver ottenuto le informazioni necessarie, l'utente digita "exit" per terminare la richiesta annidata e quindi seleziona la risposta Sì (y) alla Confirm query.

PS C:\ps-test> New-Item -ItemType File -Name Test.txt -Confirm

Confirm
Are you sure you want to perform this action?

Performing operation "Create File" on Target "Destination:
C:\ps-test\test.txt".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default
is "Y"): s

PS C:\ps-test> Get-Help New-Item -Parameter ItemType

-ItemType <string>
Specifies the provider-specified type of the new item.

Required?                    false
Position?                    named
Default value
Accept pipeline input?       true (ByPropertyName)
Accept wildcard characters?  false

PS C:\ps-test> exit

Confirm
Are you sure you want to perform this action?
Performing operation "Create File" on Target "Destination: C:\ps-test\test
.txt".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (defau
lt is "Y"): y

Directory: C:\ps-test

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         8/27/2010   2:41 PM          0 test.txt

Vedere anche