2013-04-22 8 views
6

Ho alcuni script PowerShell che si attivano da un codepart C#.

Esse non sono interattive e non è possibile confermare alcun comando.

in PowerShell, possiamo impostare la ErrorActionPreference globale con $ErrorActionPreference = "Stop"

C'è un stesso modo per impostare su ogni comando il parametro Confirm su $ false se esiste?

risposta

4

Si può provare con:

$ConfirmPreference = "None" 

Leggi here

+0

+1, funziona perfettamente, grazie mille :) – Solaflex

0

È possibile controllare se i supporti di comando Confermare e impostare utilizzando splatting:

$param = @{} 
if((Get-Command Enable-PSRemoting).Parameters.Confirm) {$param.Confirm=$false} 

Enable-PSRemoting @param 

In PowerShell 3.0 è possibile utilizzare il $ PSDefaultParameterValues ​​variabile:

$PSDefaultParameterValues["*:Confirm"]=$false 
+0

Ma con il vostro modo, devo rendere questo codice su ogni comando , ma lo voglio come impostazione globale, come ho detto. – Solaflex

+0

Per 3.0 non è solo: '$ PSDefaultParameterValues ​​[" confirm "] = $ false'? o '$ PSDefaultParameterValues ​​= @ {" *: conferma "= $ false}' –

+0

@Solaflex Pensavo volessi "impostare su ciascun comando", il mio male. –

1

Date un'occhiata here

È possibile impostare il comportamento globale con

$ConfirmPreference = "None"/"Low"/"High" 
Problemi correlati