Come richiedere conferme
Questo esempio illustra come chiamare i metodi System.Management.Automation.Cmdlet.ShouldProcess e System.Management.Automation.Cmdlet.ShouldContinue per richiedere conferme all'utente prima di eseguire un'azione.
Importante
Per altre informazioni su come Windows PowerShell queste richieste, vedere Richiesta di conferma.
Per richiedere la conferma
Assicurarsi che il
SupportsShouldProcess
parametro dell'attributo Cmdlet sia impostato sutrue
. Per le funzioni si tratta di un parametro dell'attributo CmdletBinding.[Cmdlet(VerbsDiagnostic.Test, "RequestConfirmationTemplate1", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)]
Nota
SupportsShouldProcess
L'uso di da solo non garantisce che all'utente venga richiesta la conferma. La richiesta di conferma è determinata dal valore di$ConfirmPreference
e dall'impatto dell'azione. UsareConfirmImpact
per impostare la gravità dell'impatto dell'operazione.Aggiungere un
Force
parametro al cmdlet in modo che l'utente possa eseguire l'override di una richiesta di conferma.[Parameter()] public SwitchParameter Force { get { return force; } set { force = value; } } private bool force;
Aggiungere un'istruzione che usa il valore restituito del metodo
if
System.Management.Automation.Cmdlet.ShouldProcess per determinare se viene chiamato il metodo System.Management.Automation.Cmdlet.ShouldContinue.Aggiungere una seconda istruzione che usa il valore restituito del metodo
if
System.Management.Automation.Cmdlet.ShouldContinue e il valore del parametro per determinare se l'operazioneForce
deve essere eseguita.
Esempio
Nell'esempio di codice seguente i metodi System.Management.Automation.Cmdlet.ShouldProcess e System.Management.Automation.Cmdlet.ShouldContinue vengono chiamati dall'override del metodo System.Management.Automation.Cmdlet.ProcessRecord. Tuttavia, è anche possibile chiamare questi metodi dagli altri metodi di elaborazione dell'input.
protected override void ProcessRecord()
{
if (ShouldProcess("ShouldProcess target"))
{
if (Force || ShouldContinue("", ""))
{
// Add code that performs the operation.
}
}
}
Vedere anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per